Random medium access methods with backoff adaptation to traffic

ABSTRACT

Using low PF values in conjunction with traffic-adapted contention windows leads to substantial decreases in delay and jitter. In general, adaptation to traffic reduces contention or delay: opening up the contention window in congestion and closing it on relief. Residual backoff adaptation provides for the reduction of the already decremented backoff values of stations that interrupted the backoff countdown process due to a transmission. It is good to adapt both the contention window and the residual backoff in order to avoid jitter. Otherwise, if the contention window is reduced but residual backoffs stay unchanged, new arrivals will enjoy shorter backoff delays than older ones, resulting in greater jitter. Adjusting both preserves the relative ordering of backoff counter values, which implies also some form of age ordering. Different adjustments can be applied to different priority traffic.

[0001] This application is a continuation-in-part of U.S. Ser. No.09/985,257, filed Nov. 2, 2001, entitled, “TIERED CONTENTION MULTIPLEACCESS (TCMAS): A METHOD FOR PRIORITY-BASED SHARED CHANNEL ACCESS,” andincorporated herein by reference.

[0002] This application claims the benefit of the following co-pendingapplications:

[0003] [1] U.S. Provisional Application Serial No. 60/258,885, filedJan. 2, 2001, entitled “Backoff with Fast Adaptation to Traffic”,

[0004] [2] U.S. Provisional Application Serial No. 60/261,165, filedJan. 16, 2001, entitled “Improved Backoff With Fast Adaptation toTraffic”,

[0005] [3] U.S. Provisional Application Serial No. 60/264,727, filedJan. 30, 2001, entitled, “Backoff with Fast Adaptation to Traffic”,

[0006] [4] U.S. Provisional Application Serial No. 60/267,439, filedFeb. 9, 2001, entitled, “Backoff with Fast Adaptation to Traffic”;

[0007] [5] U.S. Provisional Application Serial No. 60/270,862, filedFeb. 26, 2001, entitled, “Backoff with Fast Adaptation Using Estimatesof the Number of Backlogged Stations”;

[0008] [6] U.S. Provisional Application Serial No. 60/271,731, filedFeb. 28, 2001, entitled, “Backoff with Fast Adaptation Using Estimatesof the Number of Backlogged Stations”, and

[0009] [7] U.S. Provisional Application Serial No. 60/272,786, filedMar. 5, 2001, entitled, “Improved Backoff with Fast Adaptation toTraffic,” all of which are incorporated herein by reference.

FIELD OF THE INVENTION

[0010] The invention disclosed broadly relates to telecommunicationsmethods and more particularly relates to collision avoidance in multipleaccess networks. A method for backoff adaptation to traffic fluctuationsis proposed for the backoff approach to collision avoidance/contentionresolution. The proposed method enables the backoff approach to maintainlow latency jitter. The adaptation procedure is generalized to includecontention- based reservation systems and contention-based media accesssystems sharing a channel with non-contention systems.

BACKGROUND OF THE INVENTION

[0011] Wireless Local Area Networks (WLANS)

[0012] Wireless local area networks (WLANs) generally operate at peakspeeds of between 10 to 100 Mbps and have a typical range of 100 meters.Single-cell Wireless LANs, as shown in FIG. 1A, are suitable for smallsingle-floor offices or stores. A station in a wireless LAN can be apersonal computer, a bar code scanner, or other mobile or stationarydevice that uses a wireless network interface card (NIC) to make theconnection over the RF link to other stations in the network. Thesingle-cell wireless LAN 100 of FIG. 1A provides connectivity withinradio range between wireless stations 102, 104A, 104B, 106, and 108.Access point 108 allows connections via the backbone network 110 towired network-based resources, such as servers. A single-cell wirelessLAN can typically support up to 25 users and still keep network accessdelays at an acceptable level. Multiple-cell wireless LANs providegreater range than does a single-cell, by means of a set of accesspoints and a wired network backbone to interconnect a plurality ofsingle-cell LANs. Multiple-cell wireless LANs can cover largermultiple-floor buildings. A mobile laptop computer or data collectorwith a wireless network interface card (NIC) can roam within thecoverage area while maintaining a live connection to the backbonenetwork 11.

[0013] Wireless LAN specifications and standards include the IEEE 802.11Wireless LAN Standard and the HIPERLAN Type 1 and Type 2 Standards. TheIEEE 802.11 Wireless LAN Standard is published in three parts as IEEE802.11-1999; IEEE 802.11a-1999; and IEEE 802.11b-1999, which areavailable from the IEEE, Inc. web sitehttp://grouper.ieee.org/groups/802/1 1. An overview of the HIPERLAN Type1 principles of operation is provided in the publication HIPERLAN Type 1Standard, ETSI ETS 300 652, WA2 December 1997. An overview of theHIPERLAN Type 2 principles of operation is provided in the BroadbandRadio Access Networks (BRAN), HIPERLAN Type 2; System Overview, ETSI TR101 683 VI.I.1 (2000-02) and a more detailed specification of itsnetwork architecture is described in HIPERLAN Type 2, Data Link Control(DLC) Layer; Part 4. Extension for Home Environment, ETSI TS 101 761-4V1.2.1 (2000-12). A subset of wireless LANs is Wireless Personal AreaNetworks (PANs), of which the Bluetooth Standard is the best known. TheBluetooth Special Interest Group, Specification Of The Bluetooth System,Version 1.1, Feb. 22, 2001, describes the principles of Bluetooth deviceoperation and communication protocols.

[0014] The IEEE 802.11 Wireless LAN Standard defines at least twodifferent physical (PHY) specifications and one common medium accesscontrol (MAC) specification. The IEEE 802.11 (a) Standard is designed tooperate in unlicensed portions of the radio spectrum, usually either inthe 2.4 GHz Industrial, Scientific, and Medical (ISM) band or the 5 GHzUnlicensed-National Information Infrastructure (U-NII) band. It usesorthogonal frequency division multiplexing (OFDM) to deliver up to 54Mbps data rates. The IEEE 802.11 (b) Standard is designed for the 2.4GHz ISM band and uses direct sequence spread spectrum (DSSS) to deliverup to 11 Mbps data rates. The IEEE 802.11 Wireless LAN Standarddescribes two major components, the mobile station and the fixed accesspoint (AP). IEEE 802.11 networks can also have an independentconfiguration where the mobile stations communicate directly with oneanother, without support from a fixed access point.

[0015] A single-cell wireless LAN using the IEEE 802.11 Wireless LANStandard is an Independent Basic Service Set (IBSS) network. An IBSS hasan optional backbone network and consists of at least two wirelessstations, as shown in FIG. 1A. A multiple-cell wireless LAN using theIEEE 802.11 Wireless LAN Standard is an Extended Service Set (ESS)network. An ESS satisfies the needs of large coverage networks ofarbitrary size and complexity.

[0016] Each wireless station and access point in an IEEE 802.11 wirelessLAN implements the MAC layer service, which provides the capability forwireless stations to exchange MAC frames. The MAC frame transmitsmanagement, control, or data between wireless stations and accesspoints. After a station forms the applicable MAC frame, the frame's bitsare passed to the Physical Layer for transmission.

[0017] Before transmitting a frame, the MAC layer must first gain accessto the network. FIG. 1B shows three interframe space (IFS) intervalsthat defer an IEEE 802.11 station's access to the medium and providevarious levels of priority. Each interval defines the duration betweenthe end of the last symbol of the previous frame 113 at time T1, to thebeginning of the first symbol of the next frame. The Short InterframeSpace (SIFS) 115 provides the highest priority level by allowing someframes to access the medium before others, such as an Acknowledgement(ACK) frame, a Clear to Send (CTS) frame, or a subsequent fragment burstof a previous data frame. These frames require expedited access to thenetwork to minimize frame retransmissions.

[0018] The Priority Interframe Space (PIFS) 117 of FIG. 1B is used forhigh priority access to the medium during the contention-free period 116starting at T2 and ending at T3. The point coordinator 105 in the accesspoint 108 connected to backbone network 110 in FIG. 1A controls thepriority-based Point Coordination Function (PCF) to dictate whichstations in cell 100 can gain access to the medium. During thecontention-free period 116, station 102 in FIG. 1 A, for example, isdirected by the access point 108 to transmit its high priority dataframe 122. The point coordinator 105 in the access point 108 sends acontention-free poll frame 120 to station 102, granting station 102permission to transmit a single frame to any destination. Station 102wants to transmit its high priority data frame 122 to the receivingstation 106. Station 102 can transmit its frame 122 during period 116 ifit senses that the medium is idle. All other stations, such as stations104A, 104B, and 106, in the cell 100 can only transmit duringcontention-free period 116 if the point coordinator grants them accessto the medium. In this example, stations 104A and 104B have low prioritydata sources 114A and 114B, and thus they must wait until the end of thecontention-free period 116 at T3. This is signaled by thecontention-free end frame 126 sent by the point coordinator in FIG. 1C.The contention-free end frame 126 is sent to identify the end of thecontention-free period 116, which occurs when time expires or when thepoint coordinator has no further frames to transmit and no stations topoll.

[0019] The distributed coordination function (DCF) Interframe Space(DIFS) 119 of FIG. 1B is used by stations 104A and 104B, for example,for transmitting low priority data frames 124A and 124B, respectively,during the contention-based period 118. The DIFS spacing delays thetransmission of lower priority frames 124A and 124B to occur between T3and T4, later than the priority-based transmission of frame 122 sent bystation 102. An Extended Interframe Space (EIFS) (not shown) goes beyondthe time of a DIEFS interval as a waiting period when a bad receptionoccurs. The EIFS interval provides enough time for the receiving stationto send an acknowledgment (ACK) frame.

[0020] During the contention-based period 118, the distributedcoordination function (DCF) uses the Carrier-Sense Multiple Access WithCollision Avoidance (CSMA/CA) contention-based protocol, which issimilar to IEEE 802.3 Ethernet. The CSMA/CA protocol minimizes thechance of collisions between stations sharing the medium by waiting arandom backoff interval 128A or 128B of FIG. 1C, if the station'ssensing mechanism indicates a busy medium. The period of timeimmediately following traffic on the medium is when the highestprobability of collisions occurs, especially where there is highutilization. For example, stations 102, 104B, and 106 may be waiting forthe medium to become idle while station 104A is transmitting, andstations 102, 104B, and 106 will attempt to transmit at the same time,once station 104A stops. Once the medium is idle, CSMA/CA protocolcauses each station to delay its transmission by a random backoff time.For example, station 104B delays its transmission by a random backofftime 128B, which defers station 104B from transmitting its frame 124B,thereby minimizing the chance it will collide with those from otherstations 102 and 106.

[0021] As shown in FIG. 1D, the CSMA/CA protocol computes the randombackoff time 128B of station 104B as the product of a constant, the slottime, times a pseudo-random number RN which has a range of values fromzero to a collision window CW. The value of the collision window for thefirst try to access the network by station 104B is CW1, which yields thefirst try random backoff time 128B. If the first try to access thenetwork by station 104B fails, then the CSMA/CA protocol computes a newCW by doubling the current value of CW as CW2=CW1 times 2. As shown inFIG. 1D, the value of the collision window for the second try to accessthe network by station 104B is CW2, which yields the second try randombackoff time 128B′. This process by the CSMA/CA protocol of increasingthe delay before transmission is called binary exponential backoff. Thereason for increasing CW is to minimize collisions and maximizethroughput for both low and high network utilization. Stations with lowutilization are not forced to wait very long before transmitting theirframe. On the first or second attempt, a station will make a successfultransmission. However, if the utilization of the network is high, theCSMA/CA protocol delays stations for longer periods to avoid the chanceof multiple stations transmitting at the same time. If the second try toaccess the network by station 104B fails, then the CSMA/CA protocolcomputes a new CW by doubling again the current value of CW as CW3=CW1times 4. As shown in FIG. 1D, the value of the collision window for thethird try to access the network by station 104B is CW3, which yields thethird try random backoff time 128B″. The value of CW increases torelatively high values after successive retransmissions, under hightraffic loads. This provides greater transmission spacing betweenstations waiting to transmit.

[0022] Collision Avoidance Techniques

[0023] Four general collision avoidance approaches have emerged: [1]Carrier Sense Multiple Access (CSMA) [see F. Tobagi and L. Kleinrock,“Packet Switching in Radio Channels: Part I—Carrier Sense MultipleAccess Models and their Throughput Delay Characteristics”, IEEETransactions on Communications, Vol 23, No 12, Pages 1400-1416, 1975],[2] Multiple Access Collision Avoidance (MACA) [see P. Karn, “MACA—A NewChannel Access Protocol for Wireless Ad-Hoc Networks”, Proceedings ofthe ARRL/CRRL Amateur Radio Ninth Computer Networking Conference, Pages134-140, 1990], [3] their combination CSMA/CA, and [4] collisionavoidance tree expansion.

[0024] CSMA allows access attempts after sensing the channel foractivity. Still, simultaneous transmit attempts lead to collisions, thusrendering the protocol unstable at high traffic loads. The protocol alsosuffers from the hidden terminal problem.

[0025] The latter problem was resolved by the MACA protocol, whichinvolves a three-way handshake [P. Karn, supra]. The origin node sends arequest to send (RTS) notice of the impending transmission; a responseis returned by the destination if the RTS notice is receivedsuccessfully; and the origin node proceeds with the transmission. Thisprotocol also reduces the average delay as collisions are detected upontransmission of merely a short message, the RTS. With the length of thepacket included in the RTS and echoed in the clear to send (CTS)messages, hidden terminals can avoid colliding with the transmittedmessage. However, this prevents the back-to-back re-transmission in caseof unsuccessfully transmitted packets. A five-way handshake MACAprotocol provides notification to competing sources of the successfultermination of the transmission. [See V. Bharghavan, A. Demers, S.Shenker, and L. Zhang, “MACAW: A media access protocol for wirelessLANs”, SIGCOMM '94, Pages 212-225, ACM, 1994.]

[0026] CSMA and MACA are combined in CSMA/CA, which is MACA with carriersensing, to give better performance at high loads. A four-way handshakeis employed in the basic contention-based access protocol used in theDistributed Coordination Function (DCF) of the IEEE 802.11 Standard forWireless LANs. [See IEEE Standards Department, D3, “Wireless MediumAccess Control and Physical Layer WG,” IEEE Draft Standard P802.11Wireless LAN, January 1996.]

[0027] Collisions can be avoided by splitting the contending terminalsbefore transmission is attempted. In the pseudo-Bayesian control method,each terminal determines whether it has permission to transmit using arandom number generator and a permission probability “p” that depends onthe estimated backlog. [See R. L. Rivest, “Network control by BayesianBroadcast”, IEEE Trans. Inform. Theory, Vol IT 25, pp. 505-515,September 1979.]

[0028] To resolve collisions, subsequent transmission attempts aretypically staggered randomly in time using the following two approaches:binary tree and binary exponential backoff.

[0029] Upon collision, the binary tree method requires the contendingnodes to self-partition into two groups with specified probabilities.This process is repeated with each new collision. The order in whichcontending nodes transmit is determined either by serial or parallelresolution of the tree. [See J. L. Massey, “Collision-resolutionalgorithms and random-access communications”, in Multi-UserCommunication Systems, G. Longo (ed.), CISM Courses and Lectures No.265,New York: Springer 1982, pp.73-137.]

[0030] In the binary exponential backoff approach, a backoff countertracks the number of pauses and hence the number of completedtransmissions before a node with pending packets attempts to seize thechannel. A contending node initializes its backoff counter by drawing arandom value, given the backoff window size. Each time the channel isfound idle, the backoff counter is decreased and transmission isattempted upon expiration of the backoff counter. The window size isdoubled every time a collision occurs, and the backoff countdown startsagain. [See A. Tanenbaum, Computer Networks, 3^(rd) ed., Upper SaddleRiver, N.J., Prentice Hall, 1996.] The Distributed Coordination Function(DCF) of the IEEE 802.11 Standard for Wireless LANs employs a variant ofthis contention resolution scheme, a truncated binary exponentialbackoff, starting at a specified window and allowing up to a maximumbackoff range below which transmission is attempted. [IEEE StandardsDepartment, D3, supra] Different backoff counters may be maintained by acontending node for traffic to specific destinations. [Bharghavan,supra]

[0031] Quality Of Service (QoS)

[0032] Quality of service (QoS) is a measure of service quality providedto a customer. The primary measures of QoS are message loss, messagedelay, and network availability. Voice and video applications have themost rigorous delay and loss requirements. Interactive data applicationssuch as Web browsing have less restrained delay and loss requirements,but they are sensitive to errors. Non-real-time applications such asfile transfer, Email, and data backup operate acceptably across a widerange of loss rates and delay. Some applications require a minimumamount of capacity to operate at all, for example, voice and video. Manynetwork providers guarantee specific QoS and capacity levels through theuse of Service- Level Agreements (SLAs). An SLA is a contract between anenterprise user and a network provider that specifies the capacity to beprovided between points in the network that must be delivered with aspecified QoS. If the network provider fails to meet the terms of theSLA, then the user may be entitled to a refund. The SLA is typicallyoffered by network providers for private line, frame relay, ATM, orInternet networks employed by enterprises.

[0033] The transmission of time-sensitive and data application trafficover a packet network imposes requirements on the delay or delay jitterand the error rates realized; these parameters are referred togenerically as the QoS (Quality of Service) parameters. Prioritizedpacket scheduling, preferential packet dropping, and bandwidthallocation are among the techniques available at the various nodes ofthe network, including access points, that enable packets from differentapplications to be treated differently, helping achieve the differentquality of service objectives. Such techniques exist in centralized anddistributed variations.

[0034] The concern herein is with distributed mechanisms for multipleaccess in cellular packet networks or wireless ad hoc networks.

[0035] Backoff Adaptation to Traffic

[0036] Two general approaches can be employed for collisionavoidance/contention resolution in a contention-based medium accessprotocol, the backoff approach and the probability approach. The firstdraws a backoff counter value from a random distribution (typicallyuniform) which it counts down during idle time slots; transmission isattempted when the counter expires. In the second, transmission isattempted following each idle time slot with a fixed permissionprobability. The two approaches can be made equivalent from a channelefficiency perspective; provided, of course, their choice of parametersis consistent.

[0037] In the pseudo-Bayesian control method, the permission probability“p” used to determine whether a terminal may attempt transmissiondepends on the estimated backlog. [See R. L. Rivest, “Network control byBayesian Broadcast”, IEEE Trans. Inform. Theory, Vol IT 25, pp. 505-515,Sept. 1979.]. Ideally, the window used to draw random backoff delays onthe first transmission attempt or retransmission attempt must beappropriate for the traffic intensity and contention level at hand. Theresidual backoff delays should also be adapted to traffic.

[0038] With the capability for a traffic-adapted backoff delay, adifferent discipline may be used for adjusting the backoff window whentransmission fails. While larger backoff windows values may be usedinitially, if transmission fails, contention persistence is increased byusing a “persistence factor” less than 2 to multiply the backoff windowupon transmission retrial. This enables decreasing the mean of thestatistical distribution from which the new backoff counter would beselected for subsequent attempts. Transmission of newly arrived packetsis postponed, thus reducing the competition for the channel and giving abetter chance to aging packets to transmit successfully. The overalldelay jitter is thus minimized, making this discipline a better choicefor isochronous traffic.

[0039] Ideally one would want to start with a backoff counterappropriate for the traffic intensity at hand and retry upon failurewith successively smaller backoff counters in order to increase thepersistence of aging packets. The nodes can estimate traffic intensityfrom the number of failed transmission attempts, both their own andthose of neighboring nodes. For the latter, each node includes thenumber of the retrial attempts in the messages exchanged duringreservation and/or in the packet headers. As each node receives thesemessages, it will combine them with the retrial attempts it hasexperienced, assess the level of congestion, and select its initialbackoff window accordingly. A shorter backoff counter is needed forlower traffic intensity.

[0040] Adaptation to traffic can be pursued for both the parameters ofthe backoff distribution from which backoff counters are drawn upontransmission attempt or following transmission failure, and for theadjustment of residual backoff delays. The latter is desirable in orderto preserve the age ordering implicit in the backoff approach. Olderpackets would not be put at a disadvantage relative to new arrivals ifthe latter are drawn from a backoff window shortened as a result oftraffic adaptation. The implicit preservation of age ordering achievedthrough residual backoff adaptation leads to lower delay and jitter,which are attractive for isochronous and real-time traffic streams.

SUMMARY OF THE INVENTION

[0041] In accordance with the invention, the random backoff delay usedin CSMA protocols is selected randomly from a statistical distribution,whose mean and variance are set adaptively in response to the observedtraffic intensity and/or congestion estimates. The parameters of thestatistical distribution may consist of a contention window size CW(A)which has an initial lower value L(A) and an initial upper value U(A).Congestion estimates are derived from data that include: feedback on thesuccess or failure of a transmission attempt, the number the medium isidle, the number of re-transmissions attempted by a node and by each ofits neighbor nodes and from the age of such retrials.

[0042] Further in accordance with the invention, a new residual backoffdelay is determined for a backlogged terminal/application by functionsthat depend on the traffic intensity and/or congestion estimates, and onthe time spent by the packet waiting for transmission.

[0043] Still further in accordance with the invention, adaptation totraffic is achieved through the use of “backoff scaling”. Upon arrival,or upon transmission retrial, of a packet pending transmission, abackoff delay is drawn from a traffic-adapted backoff distribution.Following a silent time slot, a station's backoff delay is decreased andtransmission is attempted upon expiration of the counter, according tothe conventional backoff countdown procedure. In the proposed backoffprocedure, if feedback is received at a given time slot concerningtraffic intensity changes, the backoff counter is scaled up or down,depending on the direction of the traffic change. Feedback can be basedon the number of idle time slots, the number of collisions, or otherperformance parameters such as latency and dropped packets. Scaling canbe applied to both the residual backoff delay of backlogged terminalsand the parameters of the random distribution (such as the offset andthe contention window size) from which backoff values are drawn for newarrivals.

[0044] Still further in accordance with the invention, several inputparameters provide differentiation between different urgency classtransmissions. Differentiation between different urgency classtransmissions is achieved through the use of class-specific parametersof the probability distribution used to generate random backoff timesand class-specific backoff retry adjustment functions. A separate numberof transmission attempts is remembered or broadcast for each urgencyclass; and congestion is thus estimated for each urgency class. This ismade possible through the introduction of new fields in all reservationmessages, including request to send (RTS) and clear to send (CTS), aswell as headers of transmitted packets. The fields indicate the numberof transmission attempts. Differentiation between different urgencyclass transmissions is achieved through the use of class-specificbackoff retry parameters. The backoff retry parameters determine how thebackoff distribution parameters are adjusted on successive retriesfollowing transmission failure. Differentiation between differenturgency class transmissions is achieved through the use of a persistencefactor, pfi, that is different for each class i, which is used tomultiply the backoff window from which backoff counters will be drawnrandomly upon transmission retrial.

DESCRIPTION OF THE FIGURES

[0045]FIG. 1A is a network diagram of a prior art single-cell wirelessLAN, operating with the CSMA/CA protocol.

[0046]FIG. 1B is a timing diagram of the prior art CSMA/CA protocoloperating in FIG. 1A.

[0047]FIG. 1C is a more detailed timing diagram of the prior art CSMA/CAprotocol of FIG. 1B.

[0048]FIG. 1D Illustrates the prior art technique for computing therandom backoff interval in the CSMA/CA protocol of FIG. 1C.

[0049]FIG. 2 is a more detailed functional block diagram of the TCMAurgency class processing based and the resulting ordering of thetransmission of data packets for three urgency classes. The urgencyclass processing can be in a single wireless station with threedifferent urgency classes or it can be distributed in multiple wirelessstations, each with from one to three urgency classes.

[0050]FIG. 3A is a more detailed functional block diagram of the TCMAurgency class processing of FIG. 2, showing several input parametersthat provide differentiation between different urgency classtransmissions for the medium urgency class for a first try backoff rangeL_2, U_2.

[0051]FIG. 3B is the same as FIG. 3A, but shows the resulting orderingof the transmission of data packets for the medium urgency class for asecond try backoff range L_2′, U_2′.

[0052]FIG. 4 is a message format diagram of a message, such as a requestto send (RTS) and clear to send (CTS), or a header of transmittedpacket, indicating the number of transmission attempts. Congestion isestimated for each urgency class through the introduction of thismessage format.

[0053]FIG. 5 illustrates the backoff scaling example.

[0054]FIG. 6 illustrates backoff adaptation timing for own transmission,and good observed transmission.

[0055]FIG. 7 illustrates backoff adaptation timing, ACK timeout, andrecovered observed transmission failure.

[0056]FIG. 8 illustrates backoff adaptation timing, observed successfulRTS and observed transmission failure.

[0057]FIG. 9 is a timing diagram of the DCF backoff procedure.

[0058]FIG. 10 is a timing diagram of priority differentiation byarbitration time.

[0059]FIG. 11 illustrates backoff scaling.

DISCUSSION OF THE PREFERRED EMBODIMENT

[0060] Ethernet-type random medium access methods, which rely on backofffor collision avoidance/contention resolution, can benefit fromadaptation to traffic intensity; this can be achieved through backoffscaling. Such methods apply to both wireless and wired media.

[0061] Scaling can be applied to both the residual backoff counters ofbacklogged terminals and the parameters of the random distribution (suchas the offset and the contention window size) from which backoff valuesare drawn for new arrivals. Suppose a traffic burst is causingcollisions and as a result the increase adjustment factor R=1 has beendetermined and supplied to the MAC sublayer of a backlogged station.Suppose there are six stations with pending packets, with counter valuesequal to: (1, 1, 1, 2, 2, 3). Suppose further that, according to thescaling procedure, each station draws the following random numbers fromthe range [0,1]: (0, 1, 0, 0, 1, 0). As shown in FIG. 4, the adjustedcounter values of the six stations become: (1, 2, 1, 3, 4, 5), whichsuggests that fewer collisions will be experienced.

[0062] In another situation, suppose that, after an interval of burstytraffic, there are sequences of idle time slots sensed on the channel.As a result, suppose that the decrease adjustment factor D=2 isdetermined and supplied to the MAC sublayer of all backlogged stations.Suppose the counter values of three backlogged stations are: (2, 4, 7).As shown in FIG. 5, the adjusted counter values become: (1, 2, 3),leading to shorter countdown time and hence less channel idle time.

[0063]FIGS. 9, 10, and 11 illustrate the definition of the various timesand time intervals used in the scaling procedure using an example fromthe IEEE 802.11 EDCF protocol. Backoff adaptation provides foradjustment in the aCWSize_(i) parameter that is advertised to the BSS bythe AP in the EDCF Element of Beacon and Probe Response frames. Theadjustments take advantage of short-term statistical fluctuations intraffic load, especially prevalent with bursty traffic, as it allows thenumber of channel idle slots to be reduced or provide a reduction in thenumber of collisions through continuous feedback and adjustment.

[0064] Given feedback concerning channel contention, the AP scales thevalue of aCWSize_(i) up or down depending on the channel conditionsobserved. Feedback is based on the number of idle slot times, and thenumber of detected failed or successful transmissions. Based on thisfeedback, two estimates are maintained as described below: the MPDUarrival rate; and the expected number of backlogged stations having abackoff value equal to 1. If the expected number of backlogged stationshaving a backoff value equal to 1 is greater than 1, the value ofaCWSize_(i) is scaled up; if this number is less than 1, aCWSize_(i) isscaled down. ESTAs set their aCWSize_(i) to the value in the EDCFElement upon joining a BSS or IBSS or whenever they detect any change inthe advertised values of aCWSize_(i).

[0065] Scaling adjustments are made at prespecified sizes, ST_(up) forscaling up, and STd_(down) for scaling down, which could take eitherinteger or fractional positive values. Examples would be ST_(up)=½ andST_(down)=⅓.

[0066] The following constants can then be specified:${C_{R} = {{{ST}_{up} + 1} = {1\frac{1}{2}}}},{and}$$C_{D} = {\frac{1}{{ST}_{down} + 1} = \frac{3}{4}}$

[0067] where, C_(R) is the scale-up factor and C_(D) is the scale-downfactor.

[0068] When the Scaling Procedure described below indicates that ascale-up factor should be applied, the AP derives new value ofaCWSize_(i) using the following equation:

aCWSize _(i) ′=trune[C _(R) ·aCWSize _(i)+0.5]

[0069] where aCWSize_(i)=current backoff window size for urgency class i

[0070] When the Scaling Procedure described below indicates that ascale-down factor should be applied, the AP derives new values ofaCWSizei, using the following equation:

aCWSize _(i) ′=max{trunc[C _(D)·(aCWSize _(i) +ST _(down))],2}

[0071] The scaling algorithm determines whether to scale-up or down byestimating the expected number b₁ of backlogged stations having abackoff counter equal to 1, based on the observed outcome. The APmaintains an estimate of the probabilitypi, which it updates byfollowing each scaling adjustment. The AP maintains also an estimate ofthe expected number n of backlogged terminals. The product n·p₁ givesb₁, the number of backlogged stations having a backoff counter equal to1.

[0072] When scaling up, p₁ is updated by dividing by the factor C_(R).$\left. p_{1}\leftarrow\frac{p_{1}}{C_{R}} \right.$

[0073] When scaling down, p₁ is updated by dividing by the factor C_(D).$\left. p_{1}\leftarrow\frac{p_{1}}{C_{D}} \right.$

[0074] The time to scale up or down by the specified step size ST_(up)or ST_(down) is established by the following conditions. Ideally, tominimize the likelihood of a collision, the expected number ofbacklogged stations with a backoff counter of 1 must be equal to 1. Thatis, the following equation is met under optimal conditions:

b ₁ =n·p ₁=1

[0075] where n is the number of backlogged stations; and

[0076] p₁ is the probability of having a backoff counter equal to 1.

[0077] The condition for scaling up by an adjustment factor ST_(up) isthe following:

n·p ₁ ≧C _(R).

[0078] This ensures not only that b₁=n₁=p₁>1 when scaling up, but alsothat scaling up by the step size ST_(up) is not excessive; that is, itwould not cause a change of the inequality in the opposite direction.

[0079] The condition for scaling down by an adjustment factor ST_(down)is the following:

n·p ₁ ≦C _(D); and

n≧2.

[0080] This ensures both that b₁=n₁·p₁<1, and that a down scalingadjustment of size ST_(down) is not excessive and, thus, would not causea change of the inequality in the opposite direction. In addition, thenew backoff window size must be at least 2.

[0081] When the scaling conditions are met, the AP scales itsaCWSize_(i) parameters, as described above. The AP sets the EDCF Elementvalues with the current values of aCWSize_(i) in each Beacon or ProbeResponse that it transmits.

[0082] The AP bases the scaling adjustments described above on theoutcome of contention-based transmissions. Contention basedtransmissions (CBTs) are all transmissions in the Contention Period thatare not protected by a NAV. An observed successful transmission is anyCBT that is received with a good CRC. CBTs with bad CRC are alsoclassified as successful if they are followed after a SIFS period by anACK or CTS that is received with a good CRC.

[0083] A value λ representing an estimate of the traffic arrival rate,is used in adjusting the estimated number of backlogged stations. Anestimate of λ is maintained by the AP and derived from the followingequation. $\lambda = \frac{N}{\left( {T_{0} - T_{N}} \right)}$

[0084] where, N is the number of observed successful CBTs; and

[0085] T₀-T_(N) is the time elapsed for the last N successfultransmissions.

[0086] Since the adjustment of aCWSize_(i), does not have immediateimpact (it affects only new arrivals or retransmissions, and not theimmediate transmissions by the backlogged terminals), the time spannedby the arrivals of the last N=20 packets would be appropriate. The APupdates the current λ value following each successful CBT. When a CFPoccurs, updating of λ is suspended until N successful CBTs have beenreceived after the end of the CFP and, until then, the last λ value isused. The T₀-T_(N) interval is reset at the end of each CFP.

[0087] The AP maintains a variable n₁ representing an estimate of thenumber of backlogged stations. The value of n₁ is used to decide if ascale-up or scale-down is necessary. The procedure described below isused to T_(AT) a time interval defined by two consecutive occurrences ofthe event T_(AT). T_(AT) marks the end of an idle time interval oflength DIFS following an EIFS, an ACK or CTS timeout, or when both CCAand the NAV indicate the media is idle. The adjustment of n₁ is based oninformation obtained on the event T_(δ), which is defined as the timewhen CCA indicates that the medium is busy following an idle periodstarted at time T_(AT).

[0088] The AP adjusts n₁ for every idle backoff slot time. It may makethis adjustment either at the end of every backoff slot using thefollowing equation.

n ₁ =n ₀ ·q+λ·β

[0089] where, n₀=value of n₁ in previous adjustment;

[0090] q=1−p₁; and

[0091] β=the slot time

[0092] Or, it can make one cumulative adjustment at any time up to thenext T_(AT) occurrence by determining the number t of idle slotspreceding the current transmission at time T_(δ) as follows:$t = \frac{T_{\delta} - T_{AT}}{\beta}$

[0093] The value of n₁ is then adjusted by repeating the followingequation t times.

n ₀ =n ₁; and n ₁ =n ₀ ·q+λ·β

[0094] The AP calculates an interval δ in order to adjust the value ofn₁. The interval δ is defined as follows:

δ=T _(AT) −T _(δ)

[0095] At any time after an observed successful CBT, up to the nextT_(AT) occurrence, the variable n₁ is updated based on the following“success” equation:

n ₁ =n ₀ ·q+λ·(δ+β)

[0096] At any time after an observed failed CBT, up to the next T_(AT)time, the variable n₁ is updated based on the following “failure”equation:

n ₁ =n ₀+2+λ·(δ+β)

[0097] Each time the variable n₁ is updated the AP sets n₀ equal to n₁.

[0098]FIG. 3A is a more detailed functional block diagram of the TCMAurgency class processing of FIG. 2, showing several input parametersthat provide differentiation between different urgency classtransmissions. FIG. 3A shows the resulting ordering of the transmissionof data packets for the medium urgency class for a first try backoffrange L_2,U_2. Differentiation between different urgency classtransmissions is achieved through the use of the class timer 504providing class-specific urgency arbitration times (UATs). Thearbitration time is the time interval that the channel must be sensedidle by a node before decreasing its backoff counter. Initial backoffrange buffer 506 provides class-specific parameters of the probabilitydistribution used to generate random backoff times and class-specificbackoff retry adjustment functions. The backoff time is drawn from auniform random distribution. The backoff retry parameters determine howthe backoff distribution parameters are adjusted on successive retriesfollowing transmission failure. Age limit buffer 502 providesclass-specific packet age limits. The age limits lead to thecancellation of a transmission if the time since arrival exceeds athreshold value. The persistence factor buffer 508 provides apersistence factor, pf_(i), that is different for each class. Thepersistence factor, pf_(i), that is different for each class i, will beused to multiply the backoff window from which backoff counters will bedrawn randomly upon transmission retrial. FIG. 3A also shows theorganization of the queue register_21, the queue register 22, and thequeue register_23 in their respectively earlier to later time order inthe urgency class processing 322.

[0099]FIG. 3B is the same as FIG. 3A, but shows the resulting orderingof the transmission of data packets for the medium urgency class for asecond try backoff range L_2′,U_2′. If the transmission is notsuccessful, the backoff distribution is altered before the randombackoff counter is chosen for retry. The DCF doubles the backoff range(the backoff counter assumes larger values) following transmissionfailure. Hence, a packet is transmitted quickly in light packet traffic,but its transmission can be delayed substantially in congestionconditions. When a traffic stream requires low delay jitter, the goal isto minimize any deviation from the mean delay, which is better served ifthe delay is independent of packet-arrival rates.

[0100] The enhanced-DCF will employ a different discipline for differentclasses to adjust the backoff range when transmission fails. The initialbackoff range buffer 506 provides a new backoff range(aLower[y],aUpper[y]) which will be determined by functions that dependon the packet's class, the traffic congestion estimates, which arederived by the Traffic Intensity Estimation Procedure (TIEP), and on thetime spent by the packet waiting for transmission. These functionsdepend on the sensitivity of the class to delay or delay jitter. Thepersistence factor buffer 508 provides a persistence factor, pf_(i),that is different for each class i, which will be used to multiply thebackoff window from which backoff counters will be drawn randomly upontransmission retrial. Longer backoff ranges may be used initially fordelay jitter sensitive traffic and, if transmission fails, contentionpersistence can be increased by shifting the backoff range to lowervalues for subsequent attempts. This will have the effect of postponingtransmission and reducing the competition for the channel by new packetarrivals, giving a better chance to aging packets to transmitsuccessfully. The overall delay jitter is thus minimized, making thisdiscipline a better choice for isochronous traffic.

DETAILED DESCRIPTION OF THE INVENTION

[0101] Even though it has broader application, we describe the inventionas it applies to IEEE 802.11 wireless LANs. They have the followingcomponents. A station is any device with conformant 802.11 interfaces tothe wireless medium. A BSS (basic service set) is a set of STAscontrolled by a single coordination function. Member STAs of a BSS cancommunicate easily. An IBSS (independent basic service set) is an ad hocnetworked BSS; STAs communicate directly only. A DS (distributionsystem) provides address mapping and BSS integration into a network. AnAP (access point) is a STA that provides access to the DS.

[0102] In an IEEE 802.11 WLAN, the channel is shared by a centralizedaccess protocol—the Point Coordination Function (PCF)—which providescontention-free transfer based on a polling scheme controlled by theaccess point (AP) of a basic service set (BSS). [IEEE StandardsDepartment, D3, supra] The centralized access protocol gains control ofthe channel and maintains control for the entire contention-free periodby waiting a shorter time between transmissions than the stations usingthe Distributed Coordination Function (DCF) access procedure. Thisinvention deals with the DCF.

[0103] DCF Distributed Access Mechanism

[0104] In CSMA/CA (carrier sense multiple access/collision avoidance),the channel is sensed before transmission and backoff is chosen topostpone transmission by random amount if the medium is busy. Binaryexponential backoff for collision resolution occurs upon collision andcauses the range of backoff delay to double. The RTS/CTS (request tosend/clear to send) reservation is optional, wherein messages areexchanged to reserve the channel for point-to-point transmissions. TheNAV (network allocation vector) is used for ‘virtual’ carrier sensing.In operation, nodes other than the destination set the NAV and refrainfrom accessing the medium for the NAV duration which is transmitted inthe MAC. Frames are fragmented into MSDUs (MAC service data units) whichare “packets” received from/delivered to the upper layers. Inbest-effort connectionless user data transport, the MPDUs aretransmitted as independent entities.

[0105] DCF Backoff Procedure

[0106] A STA transmits a new frame if the medium is idle for aperiod >=DIFS (DCF inter-frame space). If the medium is busy,transmission is deferred for a random backoff delay. The backoffcountdown is shown in FIG. 12. The countdown starts/resumes following abusy condition after the medium is idle for a period >=DIFS. The backoffreduces the delay by 1 for every slot the medium is idle. The backoff isinterrupted when the medium becomes busy. The STA transmits when backoffexpires.

[0107] If the channel has been idle for a time period of length DIFSwhen a new frame arrives, the station may transmit immediately. However,if it is busy, each station waits until transmission stops, and thenenters into a random backoff procedure. This prevents multiple stationsfrom seizing the medium immediately after completion of the precedingtransmission as they defer transmission for randomly selected timeintervals. A backoff delay is chosen randomly from a range of integersknown as the contention window. This delay measures the total idle timefor which a transmission is deferred. It is expressed in units of timeslots. The length of a time slot is sufficient to enable carriersensing.

[0108] An internal counter is set to the selected backoff delay. Thecounter is reduced by 1 for every time slot the medium remains idle.Backoff countdown is interrupted when the medium becomes busy. Thecounter setting is retained at the current reduced value for subsequentcountdown. Backoff countdown may not start or resume until the channelhas been idle for period of length equal to DIFS.

[0109] If the counter reaches zero, the station may begin transmission.

[0110] QoS MAC Enhancements of the DCF

[0111] The QoS-enhanced DCF schedules transmission of different types oftraffic based on their service quality specifications. The competingnodes generate various types of traffic streams that may differ by theirsensitivity to delay. Real-time traffic streams such as voice and videoare delay-sensitive with limited tolerance for long delays. Suchservices can tolerate some packet loss. Music and video on demand areexamples of isochronous traffic that tolerate longer delay but limiteddelay jitter. Their tolerance for packet loss is comparable to that ofreal-time traffic. Finally, data applications such as file transfers ore-mail are delay-insensitive but intolerant of packet loss. They arecommonly referred to as best-effort traffic.

[0112] Because of the limited tolerance for delay, the transmission ofdifferent types of packets warrants different urgency. Each nodedetermines the urgency class of its pending packets according to ascheduling algorithm. There are several urgency classes. The urgencyclass indicates the desired ordering. Pending packets in a given urgencyclass must be transmitted before transmitting packets of a lower urgencyclass. Two basic approaches can be used to impose this ordering: abackoff counter or a persistence probability.

[0113] QoS enhancements are necessary in order to facilitate streamingof voice and multimedia traffic together with data. The high error ratesexperienced in transmitting over a wireless medium can lead to delaysand jitter that are unacceptable for such traffic. More delay is addedby acknowledgements that become necessary for wireless transmissions,and by the RTS/CTS mechanism if used.

[0114] The TCMA protocol is designed to reduce the collision probabilitybetween enhanced stations (ESTAs) of different urgency classificationaccessing a medium, at the point where collisions would most likelyoccur. Just after the medium becomes idle following a busy medium (asindicated by the clear channel assessment (CCA) function) is when thehighest probability of a collision exists. This is because multipleESTAs could have been, and with congestion will probably be, waiting forthe medium to become available again. This is the situation thatnecessitates use of TCMA, which relies on different arbitration times toprovide prioritized access to transmissions of different classification,followed by random backoff procedure to resolve medium contentionconflicts among transmissions of the same class.

[0115] TCMA prioritization criteria

[0116] Delay and jitter are reduced in the following ways. Frames areassigned priority classes, which enables differential treatment ofqueued frames upon transmission. The priority class indicates thedesired ordering of transmission. The ordering guidelines are asfollows. Frames ready for transmission (that is, frames with expiredbackoff) in a given priority class must be transmitted beforetransmitting frames of a lower priority class. Hence, higher priorityframes will be given preference over lower priority ones in congestionconditions (when there is high likelihood of a higher-priority framehaving a backoff time of 1). But in general, it is not desirable topostpone transmission of lower priority frames merely because there arehigher priority frames pending transmission. The latter would penalizethe lower priority traffic classes excessively.

[0117] There are nPC priority classes defined for all traffic packetswhich are permanently assigned to a packet once generated; nPC=8,according to IEEE 802.1d Annex H.2. A node may generate more than onetype of packets. When a new packet is generated at a node, it joins thepool of packets waiting transmission (PWT). It is assigned an urgencyclass. There are nUC urgency classes employed in contending for thechannel. nPC and nUC are not equal; nUC is less than nPC and equal to 4.

[0118] Unlike the assignment of a priority class to a transmission, andin order to afford the greatest flexibility, urgency classification isnot tied exclusively to the traffic type; it also relies on performanceparameters as they are observed in real time. The capability to updatethe urgency class of a packet in real time is used to reflect both thepriority class of the packet and the order in which packets of differenttraffic classes and ages must be transmitted from a node. For instance,the scheduling algorithm will advance packets with short remaining lifeto a higher urgency class. For example, an isochronous applicationpacket would be placed in the buffer with a lower urgency classificationat first and then be upgraded to the same urgency as a real-timeapplication packet if its delay approaches a critical level.

[0119] Backoff Countdown Procedure

[0120] A backoff counter is employed in the same way as in binaryexponential backoff. Typically, the backoff counter is selected randomlyfrom a range of values, referred to as the backoff window, the reasonfor the randomness being to avoid collisions that would occur if morethan one node has packets awaiting transmission. The backoff counter isdecreased when the channel is idle for a given time interval andtransmission is attempted when it expires. In case of collision, thebackoff procedure is repeated up to a maximum number of times, until aspecified backoff range is reached. Once this occurs, the packettransmission is cancelled.

[0121] Backoff countdown requires that the channel is sensed for a giventime interval, whose specification varies in different implementationsof the backoff-based collision resolution. This discussion considers twovariations of the countdown procedure: the classic backoff and thebackoff with preparation.

[0122] With classic backoff, the backoff counter is decreased when thechannel is idle for a specified time interval, which is referred to asthe backoff-counter update time (BCUT). Transmission is attempted whenthe counter expires. Following the transmission on the channel, a nodewith backoff counter equal to 1 senses the channel, which is idle. Aftera time interval BCUT, the node's backoff counter begins its count downand when it expires, the node transmits. Transmissions by the othernodes follow.

[0123] Backoff with preparation is a variation of the backoff describedabove, practiced in the IEEE 802.11 Wireless Local Area Network (WLAN)medium access control (MAC) protocol. [IEEE Standards Department, D3,supra] As in classic backoff, the backoff counter is decreased wheneverthe channel is idle for a time interval equal to BCUT, exceptimmediately following a transmission. After a transmission is sensed onthe channel, the duration of the idle required for backoff adjustment islonger; the channel must be idle for an additional time interval, whichis referred to as the backoff-counter preparation time (BCPT), beforecountdown starts. Following the transmission on the channel, a node withbackoff counter equal to 1 senses the channel, which is idle. The nodewaits for a time interval equal to BCPT, after which the countdownprocedure starts. After a time interval BCUT, the node's backoff counterexpires, and the node transmits; and other nodes follow. It is worthnoting that classic backoff is a special case of backoff withpreparation where BCPT=0. BCPT is equal to the Distributed CoordinationFunction interframe space (DIFS), and BCUT is equal to the slot time forthe IEEE 802.11 Standard. [IEEE Standards Department, D3, supra]

[0124] As explained below, these basic procedures are followed, but withcertain modifications. They involve the length of the idle time intervalrequired before the backoff counter is decreased—called the arbitrationtime, the adjustment of the backoff window, and the fate of packetsreaching their transmission retrial limit.

[0125] Contention for the channel at any point in time is restricted tomembers of the same urgency class, and packet transmissions are orderedaccording to their urgency class; hence the name “tiered contention”.Partitioning of contention is accomplished through the specification ofthe length of the arbitration time. The arbitration time is the timeinterval that the channel must be sensed idle by a node before startingto decrease its backoff counter. By using a different arbitration timefor each urgency class, separation of contention by urgency class isachieved. Herein, this arbitration time is called the urgencyarbitration time. Ordering of transmissions by urgency classification isaccomplished by assigning shorter arbitration times to the more urgenttraffic. This way, lower urgency packets will not cause collisions tohigher urgency packets, and will only attempt to seize the channel ifthere are no higher urgency packets pending transmission.

[0126] By assigning shorter arbitration times to higher urgency packets,higher urgency packets will dominate the channel in congestion, as lowerurgency packets would get less of a chance to decrease their backoffcounters because of their longer arbitration time. Lower urgency packetswill not cause collisions to higher urgency packets and will only beable to seize the channel if there are no higher urgency packets tryingto transmit.

[0127] Collisions between packets of different urgency classes areavoided if the arbitration times are selected properly. Depending on thebackoff countdown procedure employed, contention partitioning can beachieved through variation by urgency class of either of the twoidle-time requirements or both of them together. In other words, theurgency arbitration time could be differentiated by one of thefollowing: the backoff-counter preparation time (BCPT)—yielding anurgency arbitration time that is equal to UAT_(i) ⁰; the backoff-counterupdate time (BCUT)—yielding an urgency arbitration time that is equal toUAT_(i) ¹; or both times—yielding an urgency arbitration time that isequal to the sum In the last case, when assigning urgency arbitrationtimes to classes, the BCUT value chosen for a lower priority class maynot be less than that of higher priority class. Naturally, thedifference between the arbitration times of two different urgencyclasses must be at least equal to the time necessary for a station todiscern that another station has seized the channel.

[0128] In order to simplify the following discussion, arbitration timedifferentiation by BCPT is used.

[0129] Backoff countdown will proceed under the enhanced-DCF as underthe DCF. The backoff countdown is started following a time intervalduring which the medium is determined to be idle for the duration of theUAT after a transmission. The backoff counter is decreased by 1 for eachconsecutive time slot during which the medium continues to be idle.

[0130] If the medium is determined by the carrier-sense mechanism to bebusy at any time during a backoff slot, then the backoff procedure issuspended; it is resumed again once the medium shall be determined to beidle for the duration of UAT period. Transmission shall commencewhenever the backoff counter reaches zero.

[0131] It is important to recognize that the use by different urgencyclasses of UAT values different by aSlotTime minimizes the probabilitythat packets from such classes will collide in congestion conditions; inconditions whereby several ESTAs have packets of higher classificationswith nearly expired backoff counters—that is, equal to 1—the possibilityof collision is eliminated. In such conditions, higher urgency packetswill be transmitted before lower urgency packets.

[0132] Backoff Window Adjustment

[0133] Present implementations of backoff double the backoff range (thebackoff counter assumes larger values) following transmission failure.Hence, a packet is transmitted quickly in light packet traffic, but itstransmission can be delayed substantially in congestion conditions. Whena traffic stream requires low delay jitter, the goal is to minimize anydeviation from the mean delay, which is better served if the delay isindependent of packet-arrival rates. Moreover, with congestion-adaptivebackoff (see below), the random backoff values used on the firsttransmission attempt are drawn from a backoff distribution window thatis appropriate for the traffic intensity at hand. Hence, it is no longernecessary to vary the range of backoff window size widely in search of awindow size that will enable successful access at the present contentionlevel.

[0134] TCMA employs a different discipline for different classes toadjust the backoff range when transmission fails. The new backoff range,(aLower[y],aUpper[y]), is determined by functions that depend on thepacket's class, the traffic congestion estimates, which are derived bythe Traffic Intensity Estimation Procedure (TIEP) discussed herein, andon the time spent by the packet waiting for transmission. Thesefunctions depend on the sensitivity of the class to delay or delayjitter. A persistence factor, pf_(i), that is different for each classi, will be used to multiply the backoff window from which backoffcounters will be drawn randomly upon transmission retrial. Longerbackoff ranges may be used initially for delay jitter-sensitive traffic;and if transmission fails, contention persistence could be increased byshifting the backoff range to lower values for subsequent attempts. Thiswill have the effect of postponing transmission and reducing thecompetition for the channel by new packet arrivals, giving a betterchance to aging packets to transmit successfully. The overall delayjitter is thus minimized, making this discipline a better choice forisochronous traffic.

[0135] Because of its tendency to reduce long delays, this disciplinewould be preferable, in congestion conditions, to decreasing backoffranges even for real-time traffic, albeit delay-sensitive. There is atradeoff, however, as high backoff counters postpone the transmission ofthe packet unnecessarily in light traffic conditions.

[0136] Class differentiation attributes

[0137] Both the DCF and TCMA employ CSMA/CA, with certain enhancementsadded for the latter to enable differential treatment of packets withdifferent urgency classes. The access rules used by different trafficcategories are differentiated with respect to four attributes: (1) thearbitration time, the time used for backoff countdown deferral; (2) thesize of the contention window from which the random backoff is drawn;(3) the ‘persistence factor’ used in determining the size of thecontention window in collision resolution; and (4) the MAC-layer dwelltime. The arbitration time is the time interval that the channel must besensed idle by a node before decreasing its backoff counter. Thepersistence factors is the multiplier of the initial backoff window sizeto yield the backoff window in successive retransmission attempts. Thedwell times are age limits leading to the cancellation of a transmissionif the time since arrival exceeds a threshold value.

[0138] Arbitration time is the time interval the medium must be idlebefore a node (queue) starts/resumes backoff countdown. Ifarbitration-time is pursued through the BCPT, a new IFS: AIFS(arbitration-time inter-frame space) is provided, for deferral ofbackoff countdown as shown in FIG. 10. AIFS serves the same role as DIFSin the present standard. Higher-priority frames have a shorter AIFS.

[0139] Distinct priority treatment is achieved by AIFS lengths differingby at least one time slot. The slot duration, which depend on thephysical layer technology, is to allow enough time for a station tosense the medium and determine whether it is busy. For example, onepriority traffic will have an AIFS=PIFS, the next priority level willhave the same AIFS as legacy stations, namely DIFS, and lower prioritylevels will have increasing AIFS length.

[0140] Because the time in which the CCA function can be completed isset at the minimum attainable for the PHY specification, and as a resultarbitration-time differentiation alone provides for a single “high”priority class, further differentiation in priority access is pursuedthrough different backoff time distributions.

[0141] How TCMA Works

[0142] Priority differentiation by arbitration time in TCMA works in twoways. It offers not only prioritized access to frames ready fortransmission, but also retards the backoff countdown process oflower-priority frames in congestion conditions. Lower-priority framescannot countdown their backoff if there are higher-priority frames withbackoff equal to 1 waiting to transmit. This is what helps higherpriority frames access the channel more readily in a minimallydisruptive way, thus resulting in lower delays.

[0143] Consider the example of three nodes have frames queued fortransmission, one each. Node A has lower priority than nodes B and C,and hence longer AIFS. At time TO, when the busy interval is over, theresidual backoff times of nodes A, B, and C are 1, 2, and 1,respectively. Following the current transmission, node C waits for atime interval equal to its AIFS, after which it starts backoffcountdown. Node B does the same. The backoff timer of node C, startingat 1, will expire after a slot time. At that point the node transmits.The backoff of node B, which started at 2, has become 1 by that time.Node C, which has lower priority and, hence, longer AIFS will not beable to decrement is backoff because the channel gets busy again beforeit can start backoff countdown. Once the backoff of node B expires andit transmits the queued frame, channel idle time exceeds the AIFS ofnode A. It can then count down its backoff and then transmit its queuedframe. So, even though node B has a longer backoff delay than node A, ittransmits sooner because of its higher priority.

[0144] Stations Generating Multiple Classes of Traffic

[0145] An example would be a PC receiving an audio-video stream anduploading data. Traffic generated by applications on a single station isprocessed as if it were generated by different stations each producingone type of frame. Separate queues are maintained for different priorityclasses—or combination of classes if the number of queues is smallerthan the number of traffic classes. Each queue follows the access rulesthat apply to its class. Refinements are introduced to the protocol thatavoid collisions in a traffic-class aware manner; and reduce overhead.‘Fair’ treatment of all traffic is thus provided, as packet of a givencategory generated within the BSS will experience delays independent ofwhether the packet came from a station with a single type of packets orwith more types.

[0146] Packets generated by stations with multiple traffic types willnot be disadvantaged relative to packets from stations with a singletype of traffic because of a single contention point. Parallel queuesshall be maintained within the node for each class, each adhering tobackoff principles consistent with that class. The only advantageenjoyed by different-priority frames generated by applications in thesame station is that they do not experience inter- queue collisions,something otherwise possible.

[0147] The queues need not be independent, however, as packets maychange queues when their classifications are adjusted; their position inthe new queue shall be determined by the Traffic Reclassificationalgorithm. The transmission of packets with excessive latency iscancelled, causing a packet to leave its queue prematurely.

[0148] Each contending ESTA has access buffer of size 1. When a packet'sbackoff counter becomes 0, it shall be placed in the access buffer andattempt to seize the channel. In case of a tie, the access buffer packetwill be selected according to the urgency classification of the tiedpackets. The higher priority packet will be chosen. The packet notchosen shall follow the contention resolution procedure applicable toits class; namely, it will draw a new random backoff counter and engagein backoff countdown until its backoff counter expires. If transmissionof the chosen packet fails, it shall proceed in accordance with thecontention resolution procedure applicable to its class.

[0149] The above discussion shows that if an ESTA generates severaltypes of packets, scheduling procedures internal to the ESTA will selectthe packet to be transmitted. Thus, for simplicity of presentation, itis assumed in the ensuing discussion that at any point in time, an ESTAis concerned with the transmission of packets of a single type.

[0150] TCMA Backoff Counter Distribution

[0151] An ESTA desiring to initiate transfer of data under enhanced-DCFwill proceed as under DCF with some differences. The period of timerequired of the medium to be idle without interruption, as determined bythe carrier-sense mechanism, is equal to UAT, a duration that depends onthe data classification. After this UAT medium idle time, the ESTA shallthen generate a random backoff counter, unless the backoff timer alreadycontains a nonzero value.

[0152] The random backoff counter will be drawn from a uniformdistribution with range [rLower,rUpper] where the backoff window size(rUpper-rLower), or equivalently its variance ((rUpper-rLower)**2)/2, isselected based on the traffic intensity in that class. The mean of thedistribution, which is equal to (rLower+rUpper)/2, will be chosen toreflect the traffic intensity in classes of greater urgency; higherintensity in classes of greater urgency would increase the mean of thebackoff counter distribution. Traffic intensity will be estimatedthrough the Traffic Intensity Estimation Procedure (TIEP). The lowerbound of the random backoff range, rLower, will be greater than or equalto 1 for the enhanced-DCF classes with UAT—PIFS so that they do notcollide with transmissions generated by the centralized access protocol.

[0153] TCMA Overview

[0154] To summarize, the mechanism for collision resolution in TCMAemploys a backoff counter resident at each node contending for thechannel in the same way as in binary exponential backoff, but witharbitration times and persistence factors that are differentiatedaccording to urgency classes. In the absence of other multiple accesscontrol protocols with which compatibility is sought, TCMA is describedas follows:

[0155] 1. An urgency class i is assigned to the packet in the accessbuffer of each node according to a standardized deterministic schedulingalgorithm internal to the node.

[0156] 2. Each node selects a backoff counter randomly from astatistical distribution, whose mean and variance are set adaptively inresponse to the observed traffic intensity.

[0157] 3. The parameters of the backoff-counter initial distribution areadjusted based on estimates of traffic intensity in each urgency class.

[0158] 4. Congestion estimates are derived from data that include:feedback on the success or failure of a transmission attempt, the numberof re-transmissions attempted by a node and by each of its neighbornodes and from the age of such retrials. A separate number oftransmission attempts is remembered or broadcast for each urgency class;and congestion is thus estimated for each urgency class. This is madepossible through the introduction of new field in all reservationmessages [including request to send (RT S) and clear to send (CT S)] andheaders of transmitted packets indicating the number of transmissionattempts. FIG. 4 is a message format diagram of a message, such as arequest to send (RTS) and clear to send (CTS), or a header oftransmitted packet, indicating the number of transmission attempts.Congestion is estimated for each urgency class through the introductionof this message format.

[0159] 5. The backoff counter would start to be decreased when thechannel is idle for a time interval equal to the arbitration timecorresponding to the urgency classification. The node would attempttransmission when the backoff counter expires.

[0160] 6. Upon transmission failure, new backoff distribution parameterswould be computed by decreasing the mean or by multiplying thecontention window by the persistence factor for the urgencyclassification, and a new backoff counter value would be selected fromthe new distribution.

[0161] 7. The backoff procedure is repeated until a specified packetdelay is reached, which is urgency-class specific. Once this occurs, thepacket transmission is cancelled.

[0162] Congestion-Adaptive, Traffic-Specific Backoff

[0163] Ideally one would want to start with a backoff counterappropriate for the traffic intensity at hand and retry upon failurewith successively smaller backoff counters in order to increase thepersistence of aging packets. Adaptation to traffic is desirable inorder to avoid collision in congestion and reduce the idle time in lowtraffic intensity. Consistent with the notion that the DistributedCoordination Function could remain distributed, adaptation of thebackoff distribution parameters (mean and variance) to trafficconditions will be performed in a decentralized manner, althoughcentralized adaptation is equally feasible.

[0164] Adaptation of the backoff counter to traffic intensity is pursuedin different time scales: (1) upon transmission of the packet; (2) upontransmission retrial; and (3) continuously (or whenever there is achange in traffic intensity exceeding a threshold value).

[0165] Upon arrival, or upon transmission retrial, if needed, a packetpending transmission draws a backoff counter value from atraffic-adapted backoff distribution. After every silent time slot, apacket's counter is decreased and transmission is attempted uponexpiration of the counter, according to the conventional procedure. Ifthe traffic intensity changes, the backoff counter is scaled up or down,depending on the direction of the traffic change, as follows.

[0166] If the traffic intensity increases, then the backoff counter isincreased relative to its current value. A random increment is selectedfrom a range (0, R), where R depends on the traffic intensity change;the increment is added to the current counter value. Countdown thenproceeds as before. By drawing the increment randomly, variation isintroduced to the new counter values of packets that had equal countervalues previously (and heading for collision), thus helping avoidcollision. This way, the relative order in which pending packets willtransmit is preserved and preference for transmission is given to olderpackets.

[0167] If the traffic intensity decreases, decreasing the backoffcounter values prevents long idle channel intervals. In order topreserve the relative time ordering of packets, a random decrement thatis selected from a range (0, R), which depends on the traffic intensitychange, is now subtracted from the current counter value.

[0168] By preserving the order in which pending packets will transmit,the age of a packet is respected by the backoff approach while at thesame time allowing for quick adaptation to traffic variation. Thus it ismore likely for older packets to seize the medium before newer ones,hence keeping the latency jitter low.

[0169] The nodes will estimate the traffic intensity from feedbackinformation that includes: whether an attempted transmission succeededor failed, the number of failed transmission attempts and the idle timespent waiting for transmission. For the latter, each node may include inthe messages exchanged during reservation and/or in the packet headersthe number of the retrial attempts and the time since arrival of thepacket at the source node. The broadcast information will be classspecific, from which class-specific traffic intensity estimates will bederived and class-specific backoff counter ranges shall be estimated.

[0170] When a node receives these messages, it will combine them withits own information to assess the level of congestion by the TrafficIntensity Estimation Procedure (TIEP) and select its initial backoffwindow accordingly. The adjustment of the backoff counter distributionparameters to traffic intensity shall be such that high congestion in anurgency class would increase the variance of the backoff-counterdistribution, while higher intensity in classes of greater urgency wouldincrease the mean of the backoff counter distribution.

[0171] The availability of class-specific traffic estimates will make itpossible to start with a backoff counter appropriate for the trafficintensity at hand, and retry upon failure with properly adjusted andsuccessively smaller backoff counters in order to increase thepersistence of aging packets.

[0172] In the section that follows, we present “backoff scaling”, amethod for adjusting backoff window size and residual backoff delaybased on observations on the success, failure, or idle status of achannel. We start by discussing the general case where no priorities areassigned to packets. We then give ways for dealing with prioritizedtraffic.

[0173] Backoff Scaling

[0174] Residual backoff and/or contention window adaptation can be doneby ‘backoff scaling’. This is a pseudo-Bayesian algorithm that relatesto the a-priori distribution of the expected numberp of nodes, withpending transmissions, and backoff value equal to 1. p is updated basedon feedback from channel monitoring.

[0175] Ideally, one would want the estimated value ofp to be 1. Nodesmonitor the medium and detect collisions/success/idle. From theseobservations, an observed p value is computed. An observed p valuegreater than 1 suggests congestion. To reduce the new estimate of p to1, the window size is increased by scaling up. Alternatively, if p isless than 1, one can scale down; the window size is reduced because thepresent window size is wider than required for the present traffic. Thesame scaling factor can be used to adjust residual backoff. FIG. 11illustrates this concept; it shows the current and adjusted residualbackoff values, respectively. Whenp=1.5, a node with residual backoffof2 will scale up to assume a value of 2, 3, or 4 with givenprobabilities.

[0176] Upon arrival, or upon transmission retrial, of a packet pendingtransmission, a backoff counter value is drawn from a traffic-adaptedbackoff distribution. Following a silent time slot, a station's counteris decreased and transmission is attempted upon expiration of thecounter, according to the conventional backoff procedure. In theproposed backoff procedure, if feedback is received at a given time slotconcerning traffic intensity changes, the backoff counter is scaled upor down, depending on the direction of the traffic change. Feedback canbe based on the number of idle time slots, the number of collisions, orother performance parameters such as latency and dropped packets. FIG. 5illustrates this concept; m and m′ stand for the current and adjustedbackoff counter values, respectively. The proposed traffic-adaptationmethod preserves the ordering of backoff counter values, which impliessome age ordering, thus retaining the lower latency jitter advantage ofthe backoff approach.

[0177] If the traffic intensity increases, the backoff counter isincreased relative to its current value. A deterministic increment isadded to the backoff counter value that is proportional to R, where R isa non-negative number that depends on the traffic intensity increase. Arandom increment is selected from a range (0, R), and that, too, isadded to the current counter value. Countdown then proceeds as usual.This way, the relative order in which pending packets will transmit ispreserved. By drawing the increment randomly, variation is introduced tothe new counter values of packets that had equal counter valuespreviously (and heading for collision), thus helping avoid collision.

[0178] If the traffic intensity decreases, decreasing the backoffcounter values prevents long idle channel intervals. Again, in order topreserve the relative time ordering of packets, the current counter isscaled down by a factor D+1, where D would be a non-negative number thatdepends on the traffic intensity decrease.

[0179] Scaling can be applied also to the parameters of the randomdistribution (such as the offset and the contention window size) fromwhich backoff values are drawn for new arrivals. The backoff offset andwindow size are adjusted by multiplying by the factor (R+1) when scalingup, and dividing by (D+1) when scaling down.

[0180] Residual Backoff Adjustment

[0181] To illustrate the scaling adjustment in more detail, consider astation i with a packet pending transmission that has a current backoffcounter value m_(i). It is assumed for now that the adjustment factorsare integer; fractional adjustment factors are discussed in Appendix I.If many collisions occur, the adjustment factor R is estimated and usedto increase the value of the backoff counter of station i to its newvalue m_(i)′ as follows:

m _(i) ′=m _(i)·(1+R)−R+x _(i) =m _(i)+(m _(i)−1)R+x _(i)  (E1)

[0182] where x_(i) is an integer for station i drawn randomly from theuniform distribution [0, R]. Because a station transmits when thebackoff counter expires, stations engaged in backoff countdown havecounter values m_(i)≧1; hence, the backoff counter will either increaseor stay at its current value after the adjustment. FIG. 5 illustratesthe possible values of m_(i)′ for m_(i)=1, 2, 3 and R=1.

[0183] If long idle intervals are observed on the channel, an adjustmentfactor D—which is also assumed for now to be an integer—will beestimated and used to decrease the value of the backoff counter ofstation i to its new value m_(i)′ as follows: $\begin{matrix}{m_{i}^{\prime} = {{trunc}\left\lbrack \frac{m_{i} + D}{D + 1} \right\rbrack}} & ({E2})\end{matrix}$

[0184] The function trunc[.] is applied to obtain an integer counter byrounding down. FIG. 5 illustrates the possible values of m_(i)′ form_(i)=1, . . . , 9 and D=2.

[0185] By preserving the order in which pending packets will betransmitted, the age of a packet is respected by the backoff approach,while at the same time allowing for fast adaptation to trafficvariation. Thus, the backoff approach retains the advantage of a lowerlatency jitter over the probability approach.

[0186] Backoff Distribution Parameter Adjustment

[0187] Scaling can be used for slow adaptation as well. The parametersof the random distribution (such as the offset and the contention windowsize) from which backoff values are drawn for new arrivals are adjustedin tandem with the residual backoff adjustment. It is assumed here, too,that the adjustment factors are integer; fractional adjustment factorsare discussed in Appendix I.

[0188] If the backoff value is drawn from a uniform distribution withparameters [L,U], the distribution parameters after scaling up become:[L′,U′], where

L′=(R+1)·L and  (E3)

U′=(R+1)·U  (E4)

[0189] When the parameters of the backoff distribution are expressed interms of an offset L and a window of size S=U−L+1, the same scalingtransformation is used. That is,

S′=(R+1)·S  (E5)

[0190] The distribution parameters after scaling down become thefollowing: $\begin{matrix}{L^{\prime} = {{{trunc}\left\lbrack \frac{L + D}{D + 1} \right\rbrack}\quad {and}}} & ({E6}) \\{U^{\prime} = {\max \left\{ {{{trunc}\left\lbrack \frac{U + D}{D + 1} \right\rbrack},{L^{\prime} + 1}} \right\}}} & ({E7})\end{matrix}$

[0191] In computing U′, one wants to ascertain typically that L′≠U′after scaling. The transformation for the window size is the following:$\begin{matrix}{S^{\prime} = {\max \left\{ {{{trunc}\left\lbrack \frac{S + D}{D + 1} \right\rbrack},2} \right\}}} & ({E8})\end{matrix}$

[0192] Here again, one wants to ascertain typically that S≧2 afterscaling. An algorithm for scaling is presented in Appendix II.

[0193] Adaptation Based On Contention Estimate

[0194] The backoff counter would be scaled up or down by estimating theexpected number of backlogged stations having a backoff counter equal to1, based on the observed outcome. When that number gets too large, thebackoff counter is scaled up; when it gets too small, it is scaled down.

[0195] The expected number b₁ of backlogged stations with a backoffequal to 1 is the product of the expected number n of backloggedstations times the probability p₁ of having a backoff counter equalto 1. That is, b₁=n·p₁. Expansion or compression of the backoff counterchanges the estimate of p₁ as follows. When the backoff counter isscaled up by an adjustment factor R, p₁ decreases as follows:$\begin{matrix}{p_{1}^{\prime} = \frac{p_{1}}{R + 1}} & ({E9})\end{matrix}$

[0196] When the backoff counter is scaled down by an adjustment factorD, p₁ increases as follows:

p ₁′=(D+1)·p ₁  (E10)

[0197] When scaling down the minimum backoff value for a backloggedterminal is 1, which is equivalent to saying that the maximum p₁ valueis also 1. Typically one would want the size of the backoff window to beat least 2, which implies the following: $\begin{matrix}{p_{1} \leq \frac{1}{2}} & ({E11})\end{matrix}$

[0198] Adaptation Criteria

[0199] Ideally, we would like the expected number of backlogged stationswith a backoff counter of 1 to be equal to 1. That is, we want

b=n·p ₁=1  (E12)

[0200] This ideal of making p₁ equal to 1/n is pursued through scalingthe backoff counter values up or down when the value of b is greater orsmaller than 1, respectively. That is, if b₁=n₁·p₁ is observedcurrently, the probability is adjusted through scaling to achieve theideal condition given in (E12) by dividing p₁ by b₁, as follows:$\begin{matrix}{p_{1}^{\prime} = {\frac{p_{1}}{b_{1}} = {\frac{p_{1}}{n_{1} \cdot p_{1}} = \frac{1}{n_{1}}}}} & \text{(E13)}\end{matrix}$

[0201] The adjustment factors would be related to b₁ as follows: R=b₁−1when scaling up, and $D = {\frac{1}{b_{1}} - 1}$

[0202] when scaling down. If the adjustment factors R and D are integer,equations (E1) through (E10) are employed. We explain in Appendix I howto adjust backoff values using fractional adjustment factors.

[0203] Of the various scaling algorithms that can be devised based onthese concepts, we explore one that scales at fixed step sizes, whichare timed based on the current estimate of the number of backloggedterminals with backoff value equal to 1. Two equivalent approaches arepresented here.

[0204] Suppose that the adjustment factor in each direction is specifiedand is equal to ST; that is, R=ST and D=ST. There is a threshold valuefor b₁ or, equivalently, for n₁ that would trigger the desiredadjustment. The threshold value is computed as follows. Wheneverb₁=n₁·p₁>1, we must ascertain that scaling up would not cause a changein the opposite direction; b₁ or n₁ must be sufficiently large that thesame inequality will still hold after the desired adjustment. Hence, therequirement for scaling up by an adjustment factor R=STis that thefollowing holds:

b ₁ ≧ST+1=C _(R), or equivalently $\begin{matrix}{{n_{1} \geq \frac{{ST} + 1}{p_{1}}} = n_{R}} & \text{(E14)}\end{matrix}$

[0205] For any scaling down to be permitted if the new backoff windowsize must be at least 2, (see requirement in (8′)), the values of b₁ orn₁ are constrained from above. That is,

b ₁≧2·p₁, or equivalently

n ₁≧2.  (E15)

[0206] A down scaling adjustment of D=ST is triggered when b₁=n₁·p₁<1,when b₁ or n₁ are sufficiently small that the same inequality will stillhold after the desired adjustment. The requirement for scaling up by anadjustment factor R=ST is thus the following: $\begin{matrix}{{{b_{1} \leq \frac{1}{{ST} + 1}} = C_{D}},{{or}\quad {equivalently}}} & \quad \\{{n_{1} \leq \frac{1}{\left( {{ST} + 1} \right) \cdot p_{1}}} = n_{D}} & \text{(E16)}\end{matrix}$

[0207] If we expect that traffic fluctuation is rapid, then theinteger-valued adjustment factors R and D that we have assumed so far inthis section will be adequate to enhance channel utilization efficiency.Otherwise fractional adjustment factors need to be applied. We addressin Appendix I the use of fractional adjustment factors, which would beused for more responsive adaptation.

[0208] Two examples of the basic backoff adaptation algorithm arepresented in Appendix II.

[0209] The discussion that follows deals with the estimation procedurefor n₁ (or equivalently, for b₁) used in the conditions presented above.

[0210] Pseudo-Bayesian Stabilization

[0211] To estimate the expected number of backlogged stations (or theexpected number of backlogged stations with a backoff counter of 1), weuse the feedback obtained by a station monitoring the channel, whichconsists of whether there was an idle, success, or collision observed.During a “channel idle” interval, a station is either counting down itsbackoff-hence, the interval is known as “backoff countdown”—or has nopackets pending transmission—“station idle” interval. When the channelis busy, the station defers access—hence, we call that the “deferredaccess” interval. At the completion of the deferred access interval, thestation has feedback as to whether the transmission was successful ornot. An unsuccessful transmission on a perfect transmission medium isdue to a collision, but on a channel with interference (such as awireless channel), it could be due either to collision or tointerference. For simplicity, let us assume for now that the channel isperfect, and that the collision involves two simultaneous transmissions.

[0212] Key to this computation is the estimation of the expected numbern of backlogged stations, which can be computed from an estimate of thetraffic arrival rate λ and the channel-monitoring outcome. The former isbased on the rate of successful transmissions observed. Variable arrivalrates are estimated from the most recent successful transmissionsobserved in a specified window of size N. The time elapsed for the lastN successful transmissions can provide an estimate of the arrival rateλ. $\begin{matrix}{\lambda = \frac{N}{\left( {T_{0} - T_{N}} \right)}} & \text{(E17)}\end{matrix}$

[0213] Given an estimate of λ, the expected number n of backloggedstations is updated at every state. The system transitions into a newstate when one of the following outcomes is observed: idle, success, orfailure. If n₀ is the number of backlogged terminals at the time of theprevious observation (i.e. success, or failure), then the current numbern₁ of backlogged terminals is given by relations based on concepts ofthe pseudo-Bayesian stabilization model presented in (2, Section 4.4.2).According to that model, if {circumflex over (n)}₀ is the estimate ofthe expected number of backlogged terminals at the time of the previousobservation, then the current estimate of the number {circumflex over(n)}₁ of backlogged terminals is given by the following relations:

{circumflex over (n)} ₁ ={circumflex over (n)} ₀ ·q+λ·β for idle timeslot  (E18)

{circumflex over (n)} ₁ ={circumflex over (n)} ₀ ·q+λ·(π+β) forsuccess  (E19)

{circumflex over (n)} ₁ ={circumflex over (n)} ₀+2+λ·(π+β) forfailure  (E20)

[0214] where β is the slot time, π is the length of the transmittedpacket, and q=1−p₁.

[0215] With an imperfect channel, an unsuccessful transmission wouldreturn one terminal to the pool of backlogged terminals if thetransmission failure is due to interference; and n>1, if n packets wereinvolved in the collision. A way to address the ambiguity on the natureof the cause of the transmission failure is to use the expected number rof the terminals that would be returned to the backlogged pool, where1≦r and typically r≦2. Hence, (E20) can be written as follows:

{circumflex over (n)} ₁ ={circumflex over (n)} ₀ +r+λ·(π+β) forfailure  (E21)

[0216] The current estimate of the expected number of backloggedterminals with backoff value of 1, {circumflex over (b)}₁, is simply theproduct {circumflex over (n)}₁·p₁. So, given the estimate {circumflexover (b)}₀ of the same variable at the time of the previous observation,{circumflex over (b)}₁ is given by (E18), (E19) and (E21) by simplymultiplying through by p₁, which is also estimated in tandem asdiscussed above. That is,

{circumflex over (b)} ₁ ={circumflex over (b)} ₀ ·q+p ₁·λ·β for idletime slot  (E22)

{circumflex over (b)} ₁ ={circumflex over (b)} ₀ ·q+p ₁·λ·(π+β) forsuccess  (E23)

{circumflex over (b)} ₁ ={circumflex over (b)} ₀ +r+p ₁·λ·(π+β) forfailure  (E24)

[0217] Accommodation for 802.11 Features

[0218] The stabilization model described above accounts for the channeltime spent in backoff countdown and in the contention-based transmission(CBT) following the completion of such countdown. Contention-basedtransmissions are all transmissions in the Contention Period that arenot protected by a NAV. An observed successful transmission is any CBTthat is received with a good CRC. CBTs with bad CRCs are also classifiedas successful if they are followed after a SIFS period by an ACK or CTSthat is received with a good CRC. An RTS request or a data packettransmitted without RTS are considered CBTs.

[0219] Success or failure of a CBT transmission provides informationuseful to the estimation of the level of contention. The time on an802.11 channel, however, is shared by other activities as well. Theseinclude non-contention-based transmissions (NCBT) following areservation made by a successful RTS request; the transmissions thatfollow the reservation request; contention-free use of the channel byPCF; and the interframe spaces like SIFS, PIFS, DIFS, and EIFS used tomark the various activities. It is important to account for the timebetween the completion of the contention-based transmission (whichfollows backoff countdown) and the start of the new backoff countdownsession, as new packet arrivals during this time will increase thenumber of backlogged terminals engaged in contention. We modify theabove stabilization model in order to account for these arrivals.

[0220] To accommodate these special features of 802.11, the notion ofthe deferred-access interval is expanded to include the following: CBT,non-CBT, SIFS, ACK, ACKTimeout, EIFS and DIFS. FIGS. 6 through 8illustrate how the deferred-access interval is specified. For example,in FIG. 6, the deferred-access interval for a transmitting stationconsists of the sum δ=π+w, where π is the effective length of acontention-based transmission, and w is the channel time devoted toarbitration and non-contention-based transmissions, all normalized bythe packetlength and the channelrate.

[0221] The start of CBT is designated as T_(δ) and its end as T₀·T₀occurs at the following events:

[0222] When a station transmits a data packet, T₀ is recorded uponreceipt of an acknowledgement (ACK) or upon expiration of a timer setequal to ACKTimeout (the sum of the duration of an acknowledgement plusthe SIFS plus the air propagation time), whichever occurs first.

[0223] When a station transmits an RTS, T₀ is recorded upon receipt of aCTS or upon expiration of a timer set equal to CTSTimeout (the sum ofthe duration of a CTS plus the SIFS plus the air propagation time),whichever occurs first.

[0224] When a station receives a data packet, T₀ is recorded at the endof the busy channel time if the packet is received correctly. Otherwise,T₀ is recorded upon receipt of an acknowledgment (ACK), or uponexpiration of a timer set equal to EIFS following the end of the busychannel time.

[0225] When a station receives an RTS, CTS, data packet, or ACK, T₀ isrecorded at the at the time indicated by the NAV.

[0226] The time upon expiration of an idle time of length equal to DIFSfollowing the end of a CBT, T₀, is designated as T_(AT). A CBT startswhen the channel becomes busy for the first time after T_(AT), whichgives T_(δ). The interval π is computed as follows:

π=T ₀ −T ₆₇   (E25)

[0227] The interval w starts at T₀ and ends at T_(AT). The interval w iscomputed as follows:

W=T _(AT) −T ₀  (E26)

[0228] The current number {circumflex over (n)}₁ of backlogged terminalspresent after the time interval W is given by the following expression:

{circumflex over (n)} ₁ ={circumflex over (n)} ₀ +λ·w or, equivalently

{circumflex over (b)} ₁ ={circumflex over (b)} ₀ +p ₁ ·π·w for the timeinterval following idle of length DIFS  (E27)

[0229] It should be noted that, because the rate of change of theexpected number of backlogged stations is the same throughout thedeferred-access interval, the precise designation of T₀ is not critical.As along as it occurs between T_(π) and T_(AT), the result will be thesame. If the duration of the deferred-access interval is denoted as δ,that is, if

δ=π+w

[0230] then the current estimate of the number {circumflex over (n)}₁ ofbacklogged terminals is given by the following relations:

{circumflex over (n)} ₁ ={circumflex over (n)} ₀ ·q+λ·β for idletimeslot  (E28)

{circumflex over (n)} ₁ ={circumflex over (n)} ₀ ·q+λ·(δ+β) forsuccess  (E29)

{circumflex over (n)} ₁ ={circumflex over (n)} ₀ +r+λ·(δ+β) forfailure  (E30)

[0231] The estimate of the traffic arrival rate λ is derived from thenumber of observed successful CBTs. Because of intervening CFP periods,updating of λ is suspended until N successful CBTs have been receivedafter the end of the CFP and, until then, the last- computed λ value isused. The interval T₀-T_(N) is reset at the end of each CFP.

[0232] Illustrative Implementations

[0233] Various implementations of this model are possible; we discusstwo examples below. A variable n₀ representing an estimate of the numberof backlogged stations is updated at discrete times. The value of n₀ isused to decide if a scale-up or scale-down is necessary. Differentimplementations of the adaptation procedure differ with respect to whenthe update occurs and when n₀ is checked in order to perform scaling.The first implementation follows the state transition updates asdescribed above, estimating the expected number of backlogged terminalsafter an idle time slot, after a CBT, and upon expiration of an idletime interval equal to DIFS. In what we call the alternativeimplementation, estimation occurs during the idle time following timeT_(AT)—the expiration of the idle time interval equal to DIFS, and uponoccurrence of the next time T_(AT). The advantages of each method willdepend on the computation time constraints, which vary with theprocessor that will be used. The implementation logic for the twoapproaches is presented below.

[0234] Scaling adjustments are made at discrete step sizes of theadjustment factors, triggered when the expected number of backloggedterminals reaches a certain value or, equivalently, when the expectednumber of backlogged terminals with backoff value of 1 reaches a certainvalue. Multiple allowable step sizes can be selected for the adjustmentfactors. The check whether the specified threshold has beenreached—referred to below as the Scaling Check—can occur as often asevery update of the expected number of backlogged terminals, but lessfrequent checking would provide an implementation with lowercomputational load.

[0235] Each node maintains an estimate of the probability p₁, which theyshall update following each scaling adjustment. When scaling up, itupdates p₁ by dividing by the factor C_(R). When scaling down, itupdates p₁ by dividing by the factor C_(D).

[0236] A node maintains an estimate of the traffic arrival rate i, whichis derived from the time T₀-T_(N) elapsed for the last N successful CBTssuccessful transmissions. When a CFP occurs, update of λ is suspendeduntil N successful CBTs have been received after the end of the CFP and,until then, the last λ value shall be used. The interval T₀-T_(N) isreset at the end of each CFP.

[0237] A variable n₀ representing an estimate of the number ofbacklogged stations is updated at discrete times. The value of n₀ isused to decide if a scale-up or scale-down is necessary. Using theprocedure described below, n₀ is adjusted no later than time T_(AT),based on information obtained on the previous times T_(δ) and T_(AT).T_(AT) marks the end of an idle time interval of length DIFS followingan EIFS, an ACK or CTS timeout, or when both CCA and the NAV indicatethe medium is idle. T_(δ) is defined as the time when CCA indicates thatthe medium is busy for the following idle period started at timeT_(AT)·n₀ is updated for every idle backoff slot time. In the Directimplementation, this adjustment is made at the end of every backoff slotusing the equation

n ₁ =n ₀ ·q+λ·β  (E31)

[0238] where q=1−p₁ and β is the slot time.

[0239] In the Alternative Implementation, one cumulative adjustment ismade at any time up to the next T_(AT) time by determining the number tof idle slots preceding the current CBT at time T_(δ) as follows:$\begin{matrix}{t = \frac{T_{\delta} - T_{AT}}{\beta}} & \text{(E32)}\end{matrix}$

[0240] The value of n₀ is updated by repeating the following equation ttimes:

n ₀ =n ₁; and n ₁ =n ₀ ·q+λ·β

[0241] The interval δ is calculated, in order to adjust the value of n₀,as follows:

δ=T _(AT) −T _(δ)  (E33)

[0242] At any time after an observed successful CBT, up to the nextT_(AT) time, n₀ is updated based on the following equation:

n ₁ =n ₀ ·q+λ·(δ+β) for success  (E34)

[0243] At any time after an observed failed CBT, up to the next T_(AT)time, n₀ is updated based on the following equation:

n ₁ =n ₀+2+λ·(δ+β) for failure  (E35)

[0244] Each time the variable n₁ is updated, no is set equal to n₁.

[0245] As described above, scaling up occurs when n₁·p₁≧C_(R), whilescaling down occurs when 2≦n₁ and n₁·p₁≦C_(D).

[0246] The logic for the algorithms presented above appears on AppendixII. The threshold checks in the these involve the number of backloggedterminals. Equivalent algorithms can be derived by using the number ofbacklogged terminals with backoff value of 1.

[0247] Implementation Issues

[0248] In order to accommodate a variety of design considerations, wehave presented above two different implementations of a model thatcomputes adjustment factors for fast backoff adaptation in response tofeedback on the success or failure of transmissions. In bothimplementations, the expected number of backlogged stations is estimatedand compared to specified threshold values that trigger scaling.

[0249] The advantages of each method will depend on the computation timeand power constraints, which vary with the processor that will be used.In the alternative implementation, the update of the expected number ofbacklogged stations and its comparison for scaling action occur only atthe end of each channel-busy period, leading also to lower overallcomputation requirements. In the direct implementation several simplercomputations occur intermittently at various times between completion oftwo consecutive busy intervals. Finally, the second example of theAlternative Implementation combines the advantages of both.

[0250] The backoff distribution parameters and residual backoff counterscan be scaled either by an integer or a fractional adjustment factor,the granularity of the adjustment factors being chosen to best matchtraffic fluctuation. The computations for either type of factor consistprimarily of additions and multiplications or divisions by integers. Theinteger random numbers employed when scaling up need not be trulyrandom; a random sequence of integers—different for each terminal—can bestored in an array and cycled over repeatedly. The arithmetic involvingrandom numbers less than 1, which occurs when scaling by fractionaladjustment factors, can be carried out with integer random numbers,which are stored and retrieved similarly.

[0251] Priority-Class Differentiation

[0252] When differentiation between traffic classes is achieved throughthe use of urgency arbitration times (UATs) of different length, thedeferred-access interval remains the same for all classes; that is, itends when an idle time equal to DIFS is observed.

[0253] To meet different QoS requirements, stations generating differenttraffic streams with different transmission priorities may use differentvalues for the adjustment factors R and D for the same trafficintensity, depending on these priorities. The factor values would beselected to reflect both the traffic intensity and the transmissionpriority of the traffic stream. Traffic loads can be estimated bypriority class either by an access port, which would transmit thisinformation periodically, or by each backlogged station, which wouldread the packet header containing a field that indicates the class ofthe transmitted packet.

[0254] A multitude of class-specific adjustment factors can be derivedgiven a system-wide adjustment factor.

[0255] Of the many options, one must select the one that best serves QoSobjectives. Different rules are employed for deriving class-specificexpansion and compression factors, which are consistent with the backoffcounter distributions expected as a result of employing tieredcontention.

[0256] Class-Specific Expansion Factors

[0257] System-wide adjustment factors are computed using the proceduredescribed above based on the channel monitoring outcome, that is whetherthe channel is idle or whether a successful transmission or failure hasoccurred. Class-specific adjustment factors are derived from asystem-wide factor, given the breakdown of the traffic load by priorityclass, as follows.

[0258] Suppose that the backoff counter values are scaled up, due tocongestion conditions when transmission failures would be observed. LetR be the factor by which backoff counter values must be scaled up; letp₁ be the probability computed by the adjustment algorithm above; andlet λ_(i) be the traffic load of priority i, where${{\sum\limits_{i}\lambda_{i}} = \lambda},$

[0259] the total load. The class-specific adjustment factors R_(i) arerelated to R as follows: $\begin{matrix}{{\sum\limits_{i}{\lambda_{i}\frac{p_{1}^{i}}{R_{i} + 1}}} = {\lambda \quad \frac{p_{1}}{R + 1}}} & \text{(E36)}\end{matrix}$

[0260] where p₁ ^(i) is the proportion of backlogged stations withtraffic in class i that have residual backoff counter equal to 1. Theseproportions must satisfy the following relation after each scalingadjustment: $\begin{matrix}{{\sum\limits_{i}{\lambda_{i}p_{1}^{i}}} = {\lambda \quad p_{1}}} & \text{(E37)}\end{matrix}$

[0261] Tiered contention favors high priority packets by postponingcountdown of lower priority packets in congestion conditions. We wouldlike to preserve this bias after scaling up. Hence, while the backoffcounters of the higher priority traffic are scaled up by the estimatedsystem-wide expansion factor R, lower priority backoff counters could bescaled up more aggressively in order to avoid contention between themand the higher priority traffic. An approximate solution is obtained byscaling up the backoff counters of the least priority traffic [i=P] by alarger factor, while setting the top priority traffic [i=1] expansionfactor R_(i)=R. Though this approach may lead to over-expansion of thelow priority backoff counters, they will be eventually scaled down inlower traffic conditions.

[0262] Class-Specific Compression Factors

[0263] Let D be the system-wide factor by which backoff counters must bescaled down. The class-specific compression factors D_(i) are related toD as follows: $\begin{matrix}{{\sum\limits_{i}{\lambda_{i}{p_{1}^{i}\left( {D_{i} + 1} \right)}}} = {\lambda \quad {p_{1}\left( {D + 1} \right)}}} & \text{(E38)}\end{matrix}$

[0264] Backoff counter values are typically scaled down when observingconsecutive idle time slots. Since tiered contention is designed toallow traffic of different classes to seize the channel with comparableease in such a situation, the distribution of backlogged stations withbackoff counter of 1 should not be biased in favor of a particularclass. Hence, the same compression factor is applied to all priorityclasses. That is,

D_(i)=D for all i  (E39)

[0265] The above choice of Class-specific compression factors Di meetsthe requirement in (E37).

[0266] Control Architecture

[0267] The proposed adaptation scheme can be carried out either in acentralized or distributed architecture. That is, channel monitoringwill be carried out and the adaptation computations for scaling ofeither the residual backoff counters of backlogged stations or theparameters of the distributions from which new backoff values will bedrawn can be performed by either the access port or by all the stationsand the access port together. While channel monitoring and scalingcomputations may be distributed, centralized control is used tocoordinate scaling in a BSS. The access port engages in fast adaptationcontinually and sends the required parameters and scaling commands toits associated stations continually.

[0268] With distributed control, fast adaptation may occur eithercontinually if the station stays powered or only during backoffcountdown, while the station is powered and monitoring the channel. Astation that has been powered off can obtain updated backoffdistribution and scaling information from active stations that areengaged in countdown or from the access port, if present. Messagescontaining this information would be sent by the access port to thestations regularly. Sharing of information on scaling is achieved in anad hoc network provided that such information is included in a specialmessage. We refer to this information as the adaptation data. When apreviously idled station powers on, it reads this header and is thusable to engage in adaptation with parameters reflecting the currentconditions. If a considerable time interval of channel inactivityelapses, these parameters would be restored to the original defaultvalues.

[0269] The adaptation data broadcast under distributed control enablesan idle station to resume the adaptation calculations when it resumescountdown upon arrival of a new packet for transmission. Hence, theinformation included in the broadcast information is the following: theestimated number n₁ of backlogged stations, the probability p₁ that thebackoff value is equal to 1, and the estimated packet arrival rate λ.This information is used to estimate a new value for n₁ as it monitorsthe channel during backoff countdown. In addition, the broadcastinformation must also provide the past scaling history. This history maybe summarized in terms of the size of the scaled backoff distributionparameters. However, when QoS-differentiated backoff-distributionparameters are employed, the backoff distribution parameters will varypartly because of the priority class of the transmitted packet. In sucha case, a composite scaling factor, CSF, is maintained to summarize thescaling activity resulting from consecutive multiplications anddivisions by the scaling factors (R+1) and (D+1), respectively. That is,the new value of the composite scaling factor CSF′ becomes:

CSF′=CSF·(R+1) following backoff expansion  (E40) $\begin{matrix}{{CSF}^{\prime} = {\frac{CSF}{D + 1}\quad {following}\quad {backoff}\quad {compression}}} & \text{(E41)}\end{matrix}$

[0270] Given this information, the current distribution parameters[L′,U′] for a packet of priority class i is obtained by multiplying theinitial range [L_(i),U_(i)] of the uniform backoff distribution for thatclass by the broadcast CSF value. That is,

L′=trunc[CSF′·L _(i)+0.5]  (E42)

U′=trunc[CSF′·U _(i)+0.5]  (E43)

[0271] The scaling factors, and the backoff values and backoffdistribution parameters obtained thereof, will depend on the channelactivity heard by a node (station or access port) performing theadaptation. In general, larger backoff values will result fromcentralized adaptation because the access port hears all the channelactivity in a BSS, while stations separated by a distance or otherobstructions will not hear one another. However, stations situated inthe overlapping coverage area of two or more access ports, or moregenerally stations in the periphery of a BSS in a multi-BSS system, mayhear more channel activity and/or more transmission failures thanstations closer to the access port or the access port itself; the formerstations will select larger backoff values as a result.

[0272] When backoff adaptation performed by communicating nodes leads toasymmetric results—i.e., backoff values of different magnitudes—becausedifferent nodes hear different transmissions, the result is accessfailure, as a node hearing less channel activity will attempttransmission with shorter backoff values, but the destination node willnot receive that transmission because of collisions from hidden nodes.To prevent this from happening, nodes engaged in adaptation willincorporate adaptation data from other nodes and, if necessary, updatetheir own adaptation data with the more conservative values; that is,the values leading to larger backoff values. This will increase theprobability of successful access for all nodes.

[0273] Advantages of Distributed Adaptation

[0274] Distributed adaptation has the advantage that it enablesmonitoring of the channel to occur throughout the BSS and not just at asingle point, the access port. This enables the system to deriveadaptation data from all nodes and process this data and performadaptation in a way that ensures that all nodes, including the nodesexperiencing the greatest amount of traffic, will be accommodated. Thisis important in situations involving several contiguous BSSs as it canaccount for inter-BSS interference. A station situated in theoverlapping coverage area of two or more access ports will perceive thechannel activity affecting its transmissions more accurately than itsassociated access port. By using channel-activity feedback ontransmissions both from its own and from the interfering access port,such a station will adapt its backoff values more conservatively.Broadcasting its adaptation data to the access ports will cause them toexpand their backoff values, thus avoiding failures.

[0275] If there are no transmissions from an access port, greaterspatial reuse of the channel can be achieved in peer-to-peercommunications by the stations. Since distributed adaptation permitsindividual stations to adapt only to the channel activity they can hear,the backoff values they compute would be smaller. The access portlistening to all the transmissions in the BSS would estimate largerbackoff requirements; but if the access port is not transmitting orreceiving data, it will not ask the stations to increase their backoffvalues after receiving the adaptation data broadcast by the stations.Peer-to-peer applications between physically separated stations can thususe the channel simultaneously.

[0276] If there are transmissions from or to the access port, on theother hand, it would indicate that larger backoff windows should beused, based on its own adaptation data. By opening up the backoffwindows of the associated stations, the access port is not impeded fromaccessing the channel.

[0277] Finally, distributed control enables an IBSS system to adapt totraffic conditions (transmission success or failure) in the absence ofan access port.

[0278] Appendix I—Fractional Adjustment Factors

[0279] In the discussion above, integer adjustment steps were consideredonly. To obtain more responsive adaptation, we would like to allow forfractional adjustment steps as well.

[0280] Residual Backoff Adjustment

[0281] Scaling residual backoff values with fractional adjustmentfactors produces non-integer values which, if simply rounded, will giverise to a new distribution of backoff values that is not uniform. Thisreduces the efficiency of backoff. The non-integer values obtainedthrough multiplication by the scaling factor are thus rounded byprobabilistic rules that ensure that the scaled residual backoff valuesare distributed uniformly. We illustrate this procedure with thefollowing example.

[0282] Suppose that the adjustment step ST_(up) of size ½ for scaling upand the adjustment step ST_(down) of size ⅓ for scaling down have beenselected. The following constants are then specified:${C_{R} = {{{ST}_{up} + 1} = {1\frac{1}{2}}}},{and}$$C_{D} = {\frac{1}{{ST}_{down} + 1} = \frac{3}{4}}$

[0283] where, C_(R) is the scale-up factor and C_(D) is the scale-downfactor.

[0284] When scaling up is indicated, new values of the residual backoffm is obtained by the following computations. Let

E[m′]=e+f=C _(R) ·m

[0285] where m is the residual backoff value, e is the integer part andf is the fractional part of the product. f can be 0, or ½. Select arandom number x from the range [0, 1].${{{If}\quad f} = 0},{m^{\prime} = {{e - {1\quad {when}\quad x}} < \frac{1}{6}}},{m^{\prime} = {{e\quad {when}\quad \frac{1}{6}} \leq x \leq \frac{5}{6}}},{and}$${m^{\prime} = {e + 1}},{{{{otherwise}.{If}}\quad f} = \frac{1}{2}},{m^{\prime} = e},{{{when}\quad x} < \frac{1}{2}},{and}$m^(′) = e + 1, otherwise.

[0286] When scaling down is indicated, new values of the residualbackoff m are obtained by the following computations. Let

E[m′]=e+f=C _(D) ·m

[0287] where m is the residual backoff value, e is the integer part andf is the fractional part of the product. f can be 0, ¼, ½ or ¾. Select arandom number x from the range [0, 1]. If  f = 0, m^(′) = e${{{If}\quad f} = \frac{1}{4}},{m^{\prime} = e},{{{when}\quad x} < \frac{5}{6}},{and}$${m^{\prime} = {e + 1}},{{{{otherwise}.{If}}\quad f} = \frac{1}{2}},{m^{\prime} = e},{{{when}\quad x} < \frac{1}{2}},{and}$${m^{\prime} = {e + 1}},{{{{otherwise}.{If}}\quad f} = \frac{3}{4}},{m^{\prime} = e},{{{when}\quad x} < \frac{1}{6}},{and}$m^(′) = e + 1, otherwise.

[0288] Backoff Distribution Parameter Adjustment

[0289] The parameters of the random distribution (such as the offset andthe contention window size) from which backoff values are drawn for newarrivals are adjusted in tandem with the residual backoff adjustment. Ifthe backoff value is drawn from a uniform distribution with parameters[L,U], the distribution parameters after scaling up become: [L′,U′],where

L′=trunc[C _(R) ·L] and

U′=trunc[C _(R) ·U+0.5]

[0290] When the parameters of the backoff distribution are expressed interms of an offset L and a window of size S=U−L+1, the same scalingtransformation is used. That is,

S′=trunc[C _(R) ·S+0.5]

[0291] The distribution parameters after scaling down become thefollowing:

L′=max{trunc[C _(D) ·L],1} and

U′=max{trunc[C _(D)·(U+ST _(down))],L′+1}

[0292] In computing U′, one wants to ascertain typically that L′≠U′after scaling. The transformation for the window size is the following:

S′=max{trunC[C _(D)·(S+ST _(down))],2}.

[0293] Here again, one wants to ascertain typically that S≧2 afterscaling. A scaling algorithm for this example is given in Appendix II.

[0294] Numerical Example

[0295] Table 7 illustrates the mapping of old to new backoff countervalues for different starting backoff counter values, given the scale-upstep size R=½. TABLE 7 Backoff expansion transformation for fractionaladjustment factors XIX. C_(R) m E[m′] Prob m′ 1.5 1 1.5 ½  1 ½  2 2 3.0⅙  2 ⅓  3 ⅙  4 3 4.5 ½  4 ½  5 4 6.0 ⅙  5 ⅓  6 ⅙  7 5 75 ½  6 ½  7 6 9.0⅙  8 ⅓  9 ⅙ 10 7 10.5 ½  9 ½ 10 8 12.0 ⅙ 11 ⅓ 12 ⅙ 13 9 13.5 ½ 12 ½ 1310 15.0 ⅙ 13 ⅓ 14 ⅙ 15

[0296] One can verify that the new backoff values m′ generated above areuniformly distributed, given that the old backoff values m were alsouniformly distributed. That is, each of the scaled values will occurwith the same probability because it will be obtained from scaling anequal proportion of the existing residual backoff values in backloggedstations.

[0297] Only backoff values greater than 1 are scaled down. Table 8illustrates the mapping of old to new backoff counter values for ascale-down step size D=⅓, for different starting backoff counter values.TABLE 8 Backoff compression transformation for fractional adjustmentfactors XIX. C_(R) m E[m′] Prob m′ 0.75 2 1.50 ½ 1 ½ 2 3 2.25 ⅚ 2 ⅙ 3 43.00 1.0 3 5 3.75 ⅙ 3 ⅚ 4 6 4.50 ½ 4 ½ 5 7 5.25 ⅚ 5 ⅙ 6 8 6.00 1.0 6 96.75 ⅙ 6 ⅚ 7 10 7.50 ½ 7 ½ 8

[0298] Appendix H—Algorithms

[0299] Scaling Algorithms

[0300] The greater the adaptation frequency is, the more responsive theadaptation will be, leading to greater efficiency gains. On the otherhand, one wants to avoid excessive computations. Scaling can occur atspecified times or as triggered by special events. Alternatively,adjustments can be made in steps of specified size ST_(up) and ST_(down)for scaling up and down, respectively. The logic of the algorithm fortransforming the residual backoff values and the backoff distributionparameters for a fixed scaling step is given below for an integer andfractional step size.

[0301] Scaling Algorithm Logic for integer step size

[0302] Determine desired scaling step size ST and specify constants

C _(R) =ST _(up)+1, and$C_{D} = \frac{1}{\left( {{ST}_{down} + 1} \right)}$

[0303] Inputs: m=residual backoff value

[0304] (L, U)=backoff parameters

[0305] [S=backoff window size]

[0306] Block A [Scaling Up]

[0307] Step 0 Draw an integer random number x from the range [0, ST].

[0308] Step 1 Compute the new residual backoff value m′

m′=m·C _(R) −ST _(up) +x

[0309] Step 2 Compute the lower bound of the scaled backoff distributionL′

L′=C _(R) ·L

[0310] Step 3 Compute the upper bound of the scaled backoff distributionU′

U′=C _(R) ·U

[0311] [Step 4 Compute the size of the backoff window S′

S′=C _(R) ·S]

[0312] Step 4 End of Block A

[0313] Block B [Scaling Down]

[0314] Step 0 Compute the new residual backoff value m′

m′=trunc[(m+ST _(down))·C _(D)]

[0315] Step 1 Compute the lower bound of the scaled backoff distributionL′

L′=trunc[(L+ST _(down))·C _(D)]

[0316] Step 2 Compute the upper bound of the scaled backoff distributionU′

U′=max{trunc[(U+ST _(down))·C _(D) ],L′+1}

[0317] [Step 3 Compute the size of the backoff window S′

S′=max{trunc[(S+ST _(down))·S _(D)],2}]

[0318] Step 4 End of Block B

[0319] Scaling Algorithm Logic for fractional step sizes R=0.5, D=⅓

[0320] Specify constants

C _(R) =R+1, ${C_{D} = \frac{1}{\left( {D + 1} \right)}},{and}$

[0321] Inputs:

[0322] m=residual backoff value

[0323] (L, U)=backoff parameters

[0324] [S=backoff window size]

[0325] Block A [Scaling Up]

[0326] Step 0 Compute the expected value of m′ and determine its integerand fractional parts

Em=m·C _(R) =e _(—) integer+f _(—) fraction

[0327] Step 1 Draw a random number x from the range [0, 1].

[0328] Step 2 If f_fraction=0, go to Step 3; otherwise go to Step 6

[0329] Step 3 If x≦⅙, set m′=e_integer−1 and go to Step 8; otherwise goto Step 4

[0330] Step 4 If ⅙<x≦⅚, set m′=e_integer and go to Step 8; otherwise goto Step 5

[0331] Step 5 Set m′=e_integer+1 and go to Step 8.

[0332] Step 6 If f_fraction=0.5 and x≦½, set m′=e_integer and go to Step8; otherwise go to Step 7.

[0333] Step 7 Set m′=e_integer+1 and go to Step 8

[0334] Step 8 Compute the lower bound of the scaled backoff distributionL′

L′=trunc[C _(R) ·L]

[0335] Step 9 Compute the upper bound of the scaled backoff distributionU′

U′=trunc[C _(R) ·U+0.5]

[0336] [Step 10 Compute the size of the backoff window S′

S′=trunc[C _(R) ·S+0.5]]

[0337] Step 11 End of Block A

[0338] Block B [Scaling Down]

[0339] Step 0 Compute the expected value of m′ and determine its integerand fractional parts

Em=m·C _(D) =e _(—) integer+f _(—) fraction.

[0340] Step 1 Draw a random number x from the range [0, 1].

[0341] Step 2 If f_fraction=0, set m′=e_integer and go to Step 11;otherwise go to Step 3

[0342] Step 3 If f_fraction=0.25, go to Step 4; otherwise go to Step 6

[0343] Step 4 If x≦0.5, set m′=e_integer and go to Step 11; otherwise goto Step 5

[0344] Step 5 Set m′=e_integer+1 and go to Step 11

[0345] Step 6 If f_fraction=0.5, go to Step 7; otherwise go to Step 9

[0346] Step 7 If x≦½, set m′=e_integer and go to Step 11; otherwise goto Step 8.

[0347] Step 8 Set m′=e_integer+1 and go to Step 11

[0348] Step 9 If x≦⅙, set m′=e_integer and go to Step 11; otherwise goto Step 10

[0349] Step 10 Set m′=e_integer−1 and go to Step 11

[0350] Step 11 Compute the lower bound of the scaled backoffdistribution L′

L′=max{trunc[C _(D) ·L],1}

[0351] Step 12 Compute the upper bound of the scaled backoffdistribution U′

U′=max{trunc[C _(D)·(U+D)],L′+1}

[0352] [Step 13 Compute the size of the backoff window S′

S′=max{trunc[C _(D)·(S+D)],2}]

[0353] Step 14 End of Block B

[0354] Basic Backoff Adaptation Algorithm

[0355] We present in this section two equivalent examples of theproposed algorithm for backoff adaptation: one using estimates of b₁ andanother using estimates of n₁. In these examples we assume forsimplicity that the adjustment step is the same in the two directions.

EXAMPLE 1 Estimates b₁

[0356] Determine desired scaling step size ST and specify constants

C _(R) =ST+1, and $C_{D} = \frac{1}{\left( {{ST} + 1} \right)}$

 n _(start)=average•number•of•terminals ${p_{start} = \frac{1}{U + 1}};$

[0357] where U is the upper bound on the starting backoff distribution

b _(start) =n _(start) ·p _(start)

[0358] Algorithm Logic

[0359] Step 0 Initialize

[0360] n₀=n_(start);

[0361] p₁=p_(start);

[0362] b₀=b_(start)

[0363] Block A [Perform the Following Steps Repeatedly.]

[0364] Step 0 Estimate b₁, the number of backlogged stations withbackoff value equal to 1, using feedback data and the EstimationProcedure¹.

[0365] Step 1 Invoke Block S [Scaling check]

[0366] Step 3 End of Block A

[0367] Block S [Scaling Check]

[0368] Step 0 Check whether scaling up is required; that is, ifb₁≧C_(R), go to Step 1; otherwise, go to Step 2.

[0369] Step 1 Invoke the Scaling Algorithm to scale up by the adjustmentfactor R=ST

[0370] update p₁←p₁·C_(D);

[0371] set b₀=b₁; and

[0372] go to Step 5.

[0373] Step 2 Check whether scaling down is required; that is, if2·p₁≦b₁≦C_(D), go to Step 3; otherwise, go to Step 4.

[0374] Step 3 Invoke the Scaling Algorithm to scale down by theadjustment factor D=ST

[0375] update p₁←p₁·C_(R);

[0376] set b₀=b₁; and

[0377] go to Step 5.

[0378] Step 4 No scaling adjustment is made; go to Step 5

[0379] Step 5 End of Block S

EXAMPLE 2 Estimates n₁

[0380] Determine desired scaling step size ST and specify constants

C _(R) =ST+1, and $C_{D} = \frac{1}{\left( {{ST} + 1} \right)}$

 n _(start)=average•number•of•terminals $p_{start} = \frac{1}{U + 1}$

[0381] where U is the upper bound on the starting backoff distribution

[0382] Algorithm Logic

[0383] Step 0 Initialize

[0384] n₀=n_(start);

[0385] p₁=p_(start);

[0386] Block A [Perform the Following Steps Repeatedly.]

[0387] Step 0 Estimate n₁, the number of backlogged stations withbackoff value equal to 1, using feedback data and the EstimationProcedure².

[0388] Step 1 Invoke Block S [Scaling check]

[0389] Step 2 End of Block A

[0390] Block S [Scaling Check]

[0391] Step 0 Check whether scaling up is required; that is, ifn₁·p₁≧C_(R), go to Step 1; otherwise, go to Step 2.

[0392] Step 1 Invoke the Scaling Algorithm to scale up by the adjustmentfactor R=ST

[0393] update p₁←p₁·C_(D);

[0394] set n₀=n₁; and

[0395] go to Step 5.

[0396] Step 2 Check whether scaling down is required; that is, if 2≦n₁and n₁·p₁≦C_(D), go to Step 3; otherwise, go to Step 4.

[0397] Step 3 Invoke the Scaling Algorithm to scale down by theadjustment factor D=ST

[0398] update p₁←p₁·C_(R);

[0399] set n₀=n₁; and

[0400] go to Step 5.

[0401] Step 4 No scaling adjustment is made; go to Step 5

[0402] Step 5 End of Block S

[0403] Implementations of the Backoff Adaptation Algorithm

[0404] Direct Implementation

[0405] In this implementation, the expected number of backloggedterminals is updated after the expiration of an idle period equal toDIFS, an idle time slot, and a busy period. The feedback received uponexpiration of a busy period is assumed to be whether the transmissionresulted in a failure or in a successful transmission.

EXAMPLE

[0406] Determine Desired Scaling Step Size ST and Specify Constants

C _(R) =ST+1, and $C_{D} = \frac{1}{\left( {{ST} + 1} \right)}$

 n _(start)=average•number•of•tetminals ${p_{start} = \frac{1}{U + 1}};$

[0407] where U is the upper bound on the starting backoff distribution$T_{st} = \frac{- N}{{aver} \cdot {input} \cdot {rate}}$

[0408] Algorithm Logic

[0409] Define q=1−p₁

[0410] Step 0 Initialize

[0411] n₀=n_(start);

[0412] p₁=p_(start);

[0413] T_(π)=0;

[0414] EAT=0;

[0415] T_(N)=T_(st)

[0416] [Steps 1 through 4 are repeated indefinitely.]

[0417] Step 1 Given the last T_(AT) time and n₀, invoke Block A toestimate number of backlogged stations n₁ during the idle interval andinvoke Block S to perform scaling if needed

[0418] Step 2 Given n₀, invoke Block B following an idle slot toestimate number of backlogged stations n₁, and invoke Block S to performscaling if needed

[0419] Step 3 Given n₀, invoke Block C following a busy channel updateT₀, estimate number of backlogged stations n₁, and invoke Block S toperform scaling if needed

[0420] Step 4 Go to Step 1

[0421] Block A [Determine T_(AT) and the Duration w of Non-ContentionChannel Activity.]

[0422] Step 0 Record the time T_(AT) at the end of an idle intervalequal to the arbitration time DIFS and compute w.

w=T _(AT) −T ₀

[0423] Step 1 Estimate the number of backlogged stations n₁$n_{1} = {n_{0} + {\frac{N}{T_{0} - T_{N}} \cdot w}}$

[0424] Step 2 End of Block A

[0425] Block B [At the End of an Idle Slot Time, Perform the FollowingSteps.]

[0426] Step 0 If the channel is sensed idle for a time slot, set theestimated number of backlogged stations${n_{1} = {{n_{0} \cdot q} + {\frac{N}{T_{0} - T_{N}} \cdot \beta}}};$

[0427] and go to Step 1

[0428] Step 1 End of Block B

[0429] Block C [At the End of a CBT Transmission, Perform the FollowingSteps.]

[0430] Step 0 Record the start T_(π) and the end T₀ of the busy channelinterval and determine π

π=T_(0−T) _(π)

[0431] Step 1 If failure was detected, set the estimated number ofbacklogged stations${n_{1} = {n_{0} + r + {\frac{N}{T_{0} - T_{N}} \cdot \left( {\pi + \beta} \right)}}};{{{set}\quad n_{0}} = n_{1}};{{and}\quad {go}\quad {to}\quad {Step}\quad 4}$

[0432] Step 2 If transmission is successful, update the packetinter-arrival rate by using a sliding window-of-N average. That is, ifT_(i) is the time of completion of the i^(th) successful transmissioncounting backward from the last successful transmission,

[0433] T_(i)=T_(i−1) for i=N, . . . , 2 [once N successful transmissionshave been observed]; and

[0434] Go to Step 3

[0435] Step 3 Set the estimated number of backlogged stations${n_{1} = {{n_{0} \cdot q} + {\frac{N}{T_{0} - T_{N}} \cdot \left( {\pi + \beta} \right)}}};$

[0436] set n₀=n₁; and go to Step 4

[0437] Step 4 Invoke Block S [Scaling check]

[0438] Step 5 End of Block C

[0439] Block S [Scaling Check]

[0440] Step 0 Check whether scaling up is required; that is, ifn₁·p₁≧C_(R), go to Step 1; otherwise, go to Step 2.

[0441] Step 1 Invoke the Scaling Algorithm to scale up by the adjustmentfactor R=ST;

[0442] update p₁←p₁·C_(D); and

[0443] go to Step 5.

[0444] Step 2 Check whether scaling down is required; that is, if 2≦n₁and n₁·p₁≦C_(D) go to Step 3; otherwise, go to Step 4.

[0445] Step 3 Invoke the Scaling Algorithm to scale down by theadjustment factor D=ST;

[0446] adjust p₁←p₁·C_(R); and

[0447] go to Step 5.

[0448] Step 4 No scaling adjustment is made; go to Step 5

[0449] Step 5 End of Block S

[0450] Alternative Implementation

[0451] A different implementation of the pseudo-Bayesian stabilizationmodel presented updates the estimated number of backlogged stations onlyat the end of a busy period, with the two possible outcomes being eithersuccess or failure. This implementation tracks fewer events and updatesthe estimate of the expected number of backlogged stations afterexpiration of the combined deferred-access interval. Scaling isperformed at most once per CBT. in several simple recursive computationssimilar to those used in the Direct Implementation.

[0452] The expected number n₁ of backlogged stations is updated betweentwo consecutive instances of T_(AT), EAT⁻¹ and EAT₀, in two steps asfollows. Given the earlier T_(AT) time, EAT⁻¹, and the start of a CBT,T_(δ) (which is also the start of deferred access), the number t of idletime slots is computed by (E32). n₁ is updated using equation (E28) ttimes, repeatedly. This value provides n₀ for the next update. Given thestart of a CBT, T_(δ) and the later T_(AT) time, EAT₀, the length of thedeferred-access interval δ is determined as follows

δ=EAT ₀ −T _(δ),  (E35)

[0453] and n₁ is updated using equations (E29) and (E30), depending onwhether the transmission has been deemed a success or a failure. Theexample below employs a single scaling step ST, and the Scaling Check isperformed once with each new T_(AT). The presentation of this examplemakes explicit the arithmetic efficiency of the computations.

EXAMPLE

[0454] Determine desired scaling step size ST and specify constants

C _(R) =ST+1, and $C_{D} = \frac{1}{\left( {{ST} + 1} \right)}$

 n_(start)=average•number•of•terminals ${p_{start} = \frac{1}{U + 1}};$

[0455] where U is the upper bound on the starting backoff distribution${\Delta \quad {ES}_{start}} = \frac{N}{{aver} \cdot {input} \cdot {rate}}$${constant1}\quad = \frac{1}{\beta}$

 Δn _(start)=β·(aver·input·rate)

[0456] Algorithm Logic

[0457] Define q=1−p,

[0458] Step 0 Initialize

[0459] n₀=n_(start);

[0460] p₁=p_(start);

[0461] T_(π)=0;

[0462] EAT⁻¹=0;

[0463] ΔES=ΔES_(start)

[0464] Δn_(idle)=Δn_(start)

[0465] [Steps 0 through 2 are repeated indefinitely.]

[0466] Step 0 Given EAT⁻¹ and n₀, invoke Block A to find the nextoccurrence of T_(AT), EAT₀, and estimate number of backlogged stationsn₁ at that time.

[0467] Step 1 Invoke Block S to perform scaling if needed

[0468] Step 2 Set EAT⁻¹=EAT₀; set n₀=n₁; and go to Step 0

[0469] Block A [Estimate n₁ at the End of Deferred Access at EAT₀]

[0470] Step 0 Record the start T_(π) of a busy interval and determinethe number of idle time slots t elapsed since the last transmission;that is,

t=(T _(δ) −EAT ⁻¹)·constant 1

[0471] Step 1 Estimate the number of backlogged stations n₁ by repeatingt times the following computations:

n ₀ =n ₁; and n ₁ =n ₀ ·q+Δn _(idle)

[0472] Step 2 Record the time EAT₀ at the end of an idle interval equalto the arbitration time DIFS and compute the increment${\Delta \quad n_{1}} = \frac{\left( {{EAT}_{0} - T_{\delta} + \beta} \right) \cdot N}{\Delta \quad {ES}}$

[0473] Step 3 Set n₀=n₁

[0474] Step 4 If failure was detected, update the estimated number ofbacklogged stations as follows

[0475] n₁=n₀+r+Δ₁; set n₀=n₁; and go to Step 7

[0476] Step 5 If transmission was successful, update the time betweenthe last N successful transmissions. That is, if ES_(i) is the T_(AT)time following the completion of the i^(th) successful transmissioncounting backward from the last successful transmission, update

[0477] ES_(i)=ES_(i−1) for i=N, . . . , 2 [once N successfultransmissions have been observed]; set

[0478] ΔES=ES₀−ES_(N) ; compute the increment${{\Delta \quad n_{idle}} = \frac{\beta \cdot N}{\Delta \quad {ES}}};$

[0479] and go to Step 6

[0480] Step 6 Set the estimated number of backlogged stations

[0481] n₁=n₀·q+Δn₁; set n₀=n₁; and go to Step 7

[0482] Step 7 End of Block A

[0483] Block S [Scaling Check]

[0484] Step 0 Check whether scaling up is required; that is, ifn₁·p₁≧C_(R), go to Step 1; otherwise, go to Step 2.

[0485] Step 1 Invoke the Scaling Algorithm to scale up by the adjustmentfactor R—ST;

[0486] update p₁←p₁·C_(D); and

[0487] go to Step 5.

[0488] Step 2 Check whether scaling down is required; that is, if 2≦n₁and n₁·p₁≦C_(D), go to Step 3; otherwise, go to Step 4.

[0489] Step 3 Invoke the Scaling Algorithm to scale down by theadjustment factor D=ST;

[0490] adjust p₁←p₁·C_(R); and

[0491] go to Step 5.

[0492] Step 4 No scaling adjustment is made; go to Step 5

[0493] Step 5 End of Block S

[0494] w the time between the completion of the last contention-basedtransmission

[0495] x_(i) integer for station i drawn randomly from the uniformdistribution [0, R]

What is claimed is:
 1. A method for a distributed medium access protocolthat schedules transmission of different types of packets on a channelbased on a service quality specification for each type of packet,comprising the steps of: determining at a plurality of nodes in theaccess network, an urgency class of pending packets according to ascheduling algorithm; transmitting pending packets in a given urgencyclass before transmitting packets of a lower urgency class; rememberingthe number of transmission attempts by a node for the last transmissionof same node; estimating from said number of transmission attempts thecurrent congestion experienced; and adjusting a backoff counter tocurrent congestion levels to provide a dispersion of packet trafficbursts.
 2. The method for a distributed medium access protocol of claim1, which further comprises: broadcasting with each transmission thenumber of transmission attempts by a node; estimating from said numberof transmission attempts received from other nodes the currentcongestion experienced; and adjusting a backoff counter to currentcongestion levels to provide a dispersion of packet traffic bursts. 3.The method for a distributed medium access protocol of claim 1, whichfurther comprises: broadcasting with each transmission the number oftransmission attempts by a node; estimating from said number oftransmission attempts received from other nodes the current congestionexperienced; and adjusting a backoff counter to current congestionlevels to provide a dispersion of packet traffic bursts.
 4. The methodfor a distributed medium access protocol of claim 1, which furthercomprises: remembering the number of transmission attempts for packetsof every urgency class by a node for the last transmission in that classof same node; estimating from said number of transmission attempts thecurrent congestion experienced by the urgency class of a pending packet;and adjusting a backoff counter for the pending packet to currentcongestion levels to provide a dispersion of packet traffic bursts. 5.The method for a distributed medium access protocol of claim 1, whichfurther comprises: broadcasting with each transmission the number oftransmission attempts by a node and the assigned urgency class;estimating from said number of transmission attempts received from othernodes the current congestion experienced by the urgency class of thepending packet; and adjusting a backoff counter of the pending packet tocurrent congestion levels to provide a dispersion of packet trafficbursts.
 6. The method for a distributed medium access protocol of claim1, which further comprises: broadcasting with each transmission thenumber of transmission attempts by a node and the assigned urgencyclass; estimating from said number of transmission attempts receivedfrom other nodes the current congestion experienced by the urgency classof the pending packet; and adjusting a backoff counter of the pendingpacket to current congestion levels to provide a dispersion of packettraffic bursts.
 7. The method for a distributed medium access protocolof claim 1, which further comprises: initializing backoff counters witha relatively longer value, and then decreasing the value upontransmission failure and retrial.
 8. The method for a distributed mediumaccess protocol of claim 1, which further comprises: remembering thenumber of transmission attempts by a node for the last transmission ofsame node; estimating from said number of transmission attempts thecurrent congestion experienced; and adjusting a persistence probabilityto current congestion levels to provide a dispersion of packet trafficbursts.
 9. The method for a distributed medium access protocol of claim1, which further comprises: broadcasting with each transmission thenumber of transmission attempts by a node; estimating from said numberof transmission attempts received from other nodes the currentcongestion experienced; and adjusting a persistence probability tocurrent congestion levels to provide a dispersion of packet trafficbursts.
 10. The method for a distributed medium access protocol of claim1, which further comprises: broadcasting with each transmission thenumber of transmission attempts by a node; estimating from said numberof transmission attempts received from other nodes the currentcongestion experienced; and adjusting a persistence probability tocurrent congestion levels to provide a dispersion of packet trafficbursts.
 11. The method for a distributed medium access protocol of claim1, which further comprises: remembering the number of transmissionattempts for packets of every urgency class by a node for the lasttransmission in that class of same node; estimating from said number oftransmission attempts the current congestion experienced by the urgencyclass of a pending packet; and adjusting a persistence probability forthe pending packet to current congestion levels to provide a dispersionof packet traffic bursts.
 12. The method for a distributed medium accessprotocol of claim 1, which further comprises: broadcasting with eachtransmission the number of transmission attempts by a node and theassigned urgency class; estimating from said number of transmissionattempts received from other nodes the current congestion experienced bythe urgency class of the pending packet; and adjusting a persistenceprobability of the pending packet to current congestion levels toprovide a dispersion of packet traffic bursts.
 13. The method for adistributed medium access protocol of claim 1, which further comprises:broadcasting with each transmission the number of transmission attemptsby a node and the assigned urgency class; estimating from said number oftransmission attempts received from other nodes the current congestionexperienced by the urgency class of the pending packet; and adjusting apersistence probability of the pending packet to current congestionlevels to provide a dispersion of packet traffic bursts.
 14. The methodfor a distributed medium access protocol of claim 1, which furthercomprises: initializing the persistence probability with a relativelylower value, and then increasing the value upon transmission failure andretrial.
 15. The method for a distributed medium access protocol ofclaim 1, which further comprises: establishing criteria for cancellationof transmission of a packet associated with packet delay.
 16. The methodfor a distributed medium access protocol of claim 1, which furthercomprises: applying backoff prior to attempting any transmission. 17.The method for a distributed medium access protocol of claim 1, whichfurther comprises: checking for permission to transmit by using aspecified persistence probability prior to attempting any transmission.18. The method for a distributed medium access protocol of claim 1,which further comprises: applying the method to wireless networks. 19.The method for a distributed medium access protocol of claim 1, whichfurther comprises: applying the method to cellular packet networks. 20.The method for a distributed medium access protocol of claim 1, whichfurther comprises: applying the method to multi-channel air interfacesystems selected from the group consisting of FDMA, TDMA, OFDM, andCDMA.
 21. The method for a distributed medium access protocol of claim1, which further comprises: applying the method to wireline transmissionmedia.
 22. The method for a distributed medium access protocol of claim1, which further comprises: applying the method to optical transmissionmedia.
 23. A method for a distributed medium access protocol thatschedules transmission of different types of packets on a channel basedon a service quality specification for each type of packet, comprisingthe steps of: determining at a plurality of nodes in the access network,an urgency class of pending packets according to a scheduling algorithm;using class-differentiated arbitration times, as idle time intervalsrequired before transmission is attempted; and assigning shorterarbitration times to higher urgency classes.
 24. A method for adistributed medium access protocol that schedules transmission ofdifferent types of packets on a channel based on a service qualityspecification for each type of packet, comprising the steps of:determining at a plurality of nodes in the access network, an urgencyclass of pending packets according to a scheduling algorithm; usingclass-differentiated arbitration times, as idle time intervals requiredbefore a backoff counter is decreased; and assigning shorter arbitrationtimes to higher urgency classes.
 25. The method for a distributed mediumaccess protocol of claim 23, which further comprises: adjusting backoffprobability density functions in real time based on congestion estimatesderived from a number of re-transmissions attempted by a node.
 26. Themethod for a distributed medium access protocol of claim 24, whichfurther comprises: adjusting backoff probability density functions inreal time based on congestion estimates derived from a number ofre-transmissions attempted by a node.
 27. The method for a distributedmedium access protocol of claim 25, which further comprises: adjustingbackoff probability density functions in real time based on congestionestimates derived from a number of re-transmissions attempted by each ofits neighbor nodes.
 28. The method for a distributed medium accessprotocol of claim 26, which further comprises: adjusting backoffprobability density functions in real time, based on congestionestimates derived from a number of re-transmissions attempted by each ofits neighbor nodes.
 29. The method for a distributed medium accessprotocol of claim 23, which further comprises: adjusting backoffprobability density functions in real time based on class-specificcongestion estimates derived from a number of re-transmissions attemptedby a node.
 30. The method for a distributed medium access protocol ofclaim 24, which further comprises: adjusting backoff probability densityfunctions in real time based on class-specific congestion estimatesderived from a number of re-transmissions attempted by a node.
 31. Themethod for a distributed medium access protocol of claim 25, whichfurther comprises: adjusting backoff probability density functions inreal time based on class-specific congestion estimates derived from anumber of re-transmissions attempted by each of its neighbor nodes. 32.The method for a distributed medium access protocol of claim 26, whichfurther comprises: adjusting backoff probability density functions inreal time based on class-specific congestion estimates derived from anumber of re-transmissions attempted by each of its neighbor nodes. 33.The method for a distributed medium access protocol of claim 23, whichfurther comprises: adjusting backoff probability density functions inreal time based on congestion estimates derived from a number ofre-transmissions attempted by a node.
 34. The method for a distributedmedium access protocol of claim 23, which further comprises: adjustingbackoff probability density functions in real time at a node based oncongestion estimates derived from the time spent by packets waiting fortransmission.
 35. The method for a distributed medium access protocol ofclaim 24, which further comprises: adjusting backoff probability densityfunctions in real time at a node based on congestion estimates derivedfrom the time spent by packets waiting for transmission.
 36. The methodfor a distributed medium access protocol of claim 34, which furthercomprises: adjusting backoff probability density functions in real timeat a node based on congestion estimates derived from the time spent bypackets waiting for transmission at each of its neighbor nodes.
 37. Themethod for a distributed medium access protocol of claim 35, whichfurther comprises: adjusting backoff probability density functions inreal time at a node based on congestion estimates derived from the timespent by packets waiting for transmission at each of its neighbor nodes.38. The method for a distributed medium access protocol of claim 23,which further comprises: adjusting backoff probability density functionsin real time at a node based on class- specific congestion estimatesderived from the time spent by packets of different classes waiting fortransmission.
 39. The method for a distributed medium access protocol ofclaim 24, which further comprises: adjusting backoff probability densityfunctions in real time at a node based on class- specific congestionestimates derived from the time spent by packets of different classeswaiting for transmission.
 40. The method for a distributed medium accessprotocol of claim 38, which further comprises: adjusting backoffprobability density functions in real time at a node based on class-specific congestion estimates derived from the time spent by packets ofdifferent classes waiting for transmission at each of its neighbornodes.
 41. The method for a distributed medium access protocol of claim39, which further comprises: adjusting backoff probability densityfunctions in real time at a node based on class- specific congestionestimates derived from the time spent by packets of different classeswaiting for transmission at each of its neighbor nodes.
 42. A method fora distributed medium access protocol, comprising: schedulingtransmission of different types of packets on a shared channel; andincluding information in the transmitted packets concerning the numberof transmission attempts.
 43. A method for a distributed medium accessprotocol, comprising: scheduling transmission of different types ofpackets on a shared channel; and including information in thetransmitted packets concerning the time spent by the packet waitingtransmission.
 44. The method for a distributed medium access protocol ofclaim 42, which further comprises: further differentiating packets intodifferent urgency classes based on different backoff distributions fordifferent packets that are assigned the same urgency arbitration time.45. The method for a distributed medium access protocol of claim 43,which further comprises: further differentiating packets into differenturgency classes based on different backoff distributions for differentpackets that are assigned the same urgency arbitration time.
 46. Themethod for a distributed medium access protocol of claim 23, whichfurther comprises: further differentiating packets into urgency classesbased on probability density functions of backoff counters whosesuperposition yields a uniform composite density function, thusachieving efficient dispersion of contending stations' backoff time. 47.The method for a distributed medium access protocol of claim 24, whichfurther comprises: further differentiating packets into urgency classesbased on probability density functions of backoff counters whosesuperposition yields a uniform composite density function, thusachieving efficient dispersion of contending stations' backoff time. 48.The method for a distributed medium access protocol of claim 23, whichfurther comprises: further differentiating packets into urgency classesbased on different permission probabilities, by which permission isgranted for transmission, for different packets that are assigned thesame urgency arbitration time.
 49. The method for a distributed mediumaccess protocol of claim 24, which further comprises: furtherdifferentiating packets into urgency classes based on differentpermission probabilities, by which permission is granted fortransmission, for different packets that are assigned the same urgencyarbitration time.
 50. A method for a distributed medium access protocolthat schedules transmission of different types of packets on a channelbased on a service quality specification for each type of packet,comprising the steps of: determining at a plurality of nodes in theaccess network, an urgency class of pending packets according to ascheduling algorithm; and using class-differentiated retrial functionsthat are used to update parameters of backoff distribution usedfollowing transmission failure and subsequent transmission retrial. 51.A method for a distributed medium access protocol that schedulestransmission of different types of packets on a channel based on aservice quality specification for each type of packet, comprising:determining in a first wireless station a first urgency class of datahaving a low QoS requirement; assigning a first class-differentiatedurgency arbitration time to said data having a lower requirement;determining in a second wireless station a second urgency class of datahaving a high QoS requirement; assigning a second class-differentiatedurgency arbitration time shorter than said first time, to said datahaving a higher QoS requirement; transmitting from said second wirelessstation pending packets in said second urgency class before transmittingfrom said first wireless station pending packets in said first urgencyclass; and said urgency classes each having a correspondence urgencyarbitration time that must expire before starting a random backoffinterval for packets assigned to that urgency class.
 52. The method ofclaim 51, wherein: said random backoff interval is calculated based on acontention window range which has an initial lower value and an initialupper value, which are functions of the urgency class.
 53. The method ofclaim 51, wherein: said random backoff interval is selected randomlyfrom a statistical distribution, whose mean and variance are setadaptively in response to an observed traffic intensity.
 54. The methodof claim 5 1, which further comprises: differentiating between differenturgency class transmissions with class-specific parameters of theprobability distribution used to generate random backoff times andclass- specific backoff retry adjustment functions.
 55. The method ofclaim 5 1, which further comprises: differentiating between differenturgency class transmissions with a persistence factor, pf_(i), that isdifferent for each class i, which is used to multiply a backoff windowfrom which backoff counters will be drawn randomly upon transmissionretrial.
 56. The method of claim 5 1, which further comprises:differentiating between different urgency class transmissions with a newbackoff range determined by traffic congestion estimates.
 57. The methodof claim 56, wherein: said congestion estimates are derived from datathat include feedback on success or failure of a transmission attempt.58. The method of claim 56, wherein: said congestion estimates arederived from data that include feedback on a number of re-transmissionsattempted by a node.
 59. The method of claim 56, wherein: saidcongestion estimates are derived from data that include feedback on anumber of re-transmissions attempted by neighbor nodes.
 60. The methodof claim 56, wherein: said congestion estimates are derived from datathat include feedback on age of retrials of transmissions attempted. 61.The method of claim 56, wherein: said congestion estimates are derivedfrom data that include feedback on attempted transmissions provided inreservation messages.
 62. The method of claim 56, wherein: saidcongestion estimates are derived from data that include feedback onattempted transmissions provided in request to send and clear to sendmessages.
 63. The method of claim 56, wherein: said congestion estimatesare derived from data that include feedback on attempted transmissionsprovided in headers of transmitted packets.
 64. A method for a mediumaccess protocol that schedules transmission of packets from a pluralityof nodes on a channel, comprising the steps of: employing a backoffcountdown procedure for channel access; monitoring traffic intensitychanges continuously and providing feedback to the MAC sublayer ofcontending nodes; adjusting a backoff counter of each of a plurality ofcontending nodes to current congestion levels in time intervals shorterthan required for the completion of a transmission attempt; andadjusting such backoff counter in a way that enables older packets to betransmitted before newer ones with high probability, thus minimizing thelatency jitter.
 65. The method for a medium access protocol of claim 64,which further comprises: adjusting such backoff counter in a way thattheir relative ordering is preserved.
 66. The method for a medium accessprotocol of claim 65, which further comprises: determining the magnitudeof an adjustment factor that is larger for greater congestion; adjustinga backoff counter of the pending packet to increased congestion levelsby increasing the backoff counter values associated with each of aplurality of contending nodes by scaling up such counter through theaddition of an increment that is proportional to the current countervalue and increases with the scaling factor; and adding a random integernumber drawn from a range bounded by 0 and said adjustment factor. 67.The method for a medium access protocol of claim 65, which furthercomprises: determining the magnitude of an adjustment factor that islarger for lower congestion; and adjusting a backoff counter of thepending packet to decreased congestion levels by decreasing the backoffcounter values associated with each of a plurality of contending nodesby scaling down in inverse proportion to said scaling factor.
 68. Themethod for a medium access protocol of claim 66, which furthercomprises: selecting the magnitude of the adjustment factor at a givencongestion level so that it is smaller for higher priority nodes, thusallowing higher priority packets to be transmitted earlier.
 69. Themethod for a medium access protocol of claim 67, which furthercomprises: selecting the magnitude of the adjustment factor at a givencongestion level so that it is greater for higher priority nodes, thusallowing higher priority packets to be transmitted earlier.
 70. Themethod for a medium access protocol of claim 66, which furthercomprises: selecting the magnitude of the adjustment factor at a givencongestion level so that it is smaller for nodes subscribing to a higherpremium service, thus enabling higher premium packets to be transmittedearlier.
 71. The method for a medium access protocol of claim 67, whichfurther comprises: selecting the magnitude of the adjustment factor at agiven congestion level so that it is greater for nodes subscribing to ahigher premium service, thus allowing higher premium packets to betransmitted earlier.
 72. A method for a medium access protocol thatschedules transmission of packets from a plurality of nodes on achannel, comprising the steps of: employing a backoff countdownprocedure for random channel access; monitoring the traffic continuouslyand providing feedback to the MAC sublayer of contending nodes; andadjusting the parameters (e.g. offset and window size, or range) of arandom distribution from which the backoff counter is drawn uponinitiation of a transmission attempt for each of a plurality ofcontending nodes to reflect current congestion levels.
 73. The methodfor a medium access protocol of claim 72, which further comprises:adjusting a backoff counter of each of a plurality of backlogged nodesto reflect current contention levels in time intervals shorter thanrequired for the completion of a transmission attempt; and adjustingsuch backoff counters in a way that enables older packets to betransmitted before newer ones with high probability, thus minimizing thelatency jitter.
 74. The method for a medium access protocol of claim 72,which further comprises: obtaining traffic intensity measurementscontinuously and providing feedback to the MAC sublayer of contendingnodes.
 75. The method for a medium access protocol of claim 72, whichfurther comprises: obtaining feedback on the status (e.g. success orfailure) of transmissions and channel idle time continuously andproviding such feedback to the MAC sublayer of contending nodes.
 76. Themethod for a medium access protocol of claim 72, which furthercomprises: employing feedback information to estimate the expectednumber of backlogged nodes; and using such estimate for the purpose ofbackoff-related adjustments.
 77. The method for a medium access protocolof claim 72, which further comprises: employing feedback information toestimate the expected number of backlogged nodes; and using suchestimate for the purpose of backoff-related adjustments.
 78. The methodfor a medium access protocol of claim 72, which further comprises:employing a wireless channel; and performing the monitoring of thechannel at the access port.
 79. The method for a medium access protocolof claim 72, which further comprises: employing a wireless channel; andperforming the monitoring of the channel at each of the contendingnodes.
 80. The method for a medium access protocol of claim 72, whichfurther comprises: determining system-wide adjustments at the accessport; and supplying such adjustments to all nodes.
 81. The method for amedium access protocol of claim 72, which further comprises: determiningthe magnitude of an adjustment factor R that is larger for greatercontention levels; and adjusting the backoff distribution parameters toincreased contention levels by increasing parameter values associatedwith each of a plurality of contending nodes by scaling up suchparameters through the addition of an increment that is proportional tothe current counter value and increases with the scaling factor (1+R).82. The method for a medium access protocol of claim 72, which furthercomprises: determining the magnitude of an adjustment factor D that islarger for lower contention levels; and adjusting the backoffdistribution parameters to decreased contention levels by decreasingsuch parameters associated with each of a plurality of contending nodesby scaling down in inverse proportion to the scaling factor (1+D). 83.The method for a medium access protocol of claim 73, which furthercomprises: adjusting such backoff counter in a way that their relativeordering is preserved.
 84. The method for a medium access protocol ofclaim 83, which further comprises: determining the magnitude of aninteger adjustment factor R that is larger for greater contentionlevels; adjusting a backoff counter of the pending packet to increasedcontention levels by increasing the backoff counter values associatedwith each of a plurality of backlogged nodes by scaling up such counterthrough the addition of an increment that is proportional to the currentcounter value and increases with the scaling factor (1+R); and adding arandom integer number drawn from a range bounded by 0 and saidadjustment factor R.
 85. The method for a medium access protocol of 83,which further comprises: determining the magnitude of a fractionaladjustment factor R that is larger for greater contention levels;adjusting a backoff counter of the pending packet to increasedcontention levels by increasing the backoff counter values associatedwith each of a plurality of backlogged nodes by scaling up such counterthrough the multiplication of the current counter value by a term thatincreases with the scaling factor (1+R); and assigning, throughstatistical means, an integer value to such counter with expected valueequal to said multiplication product.
 86. The method for a medium accessprotocol of claim 83, which further comprises: determining the magnitudeof an integer adjustment factor D that is larger for lower contentionlevels; and adjusting a backoff counter of the pending packet todecreased contention levels by decreasing the backoff counter valuesassociated with each of a plurality of backlogged nodes by scaling downin inverse proportion to the scaling factor (1+D).
 87. The method for amedium access protocol of claim 83, which further comprises: determiningthe magnitude of a fractional adjustment factor D that is larger forlower congestion; adjusting a backoff counter of the pending packet toincreased contention levels by increasing the backoff counter valuesassociated with each of a plurality of backlogged nodes by scaling downsuch counter through the multiplication of the current counter value bya term that increases in inverse proportion to the scaling factor (1+D);and assigning, through statistical means, an integer value to suchcounter with expected value equal to said multiplication product. 88.The method for a medium access protocol of claim 81, which furthercomprises: while monitoring the contention levels, performing a scalingadjustment when its magnitude exceeds a specified step size, thusmaintaining responsive adjustment with an efficient computation load.89. The method for a medium access protocol of claim 82, which furthercomprises: while monitoring the contention levels, performing a scalingadjustment when its magnitude exceeds a specified step size, thusmaintaining responsive adjustment with an efficient computation load.90. The method for a medium access protocol of claim 84, which furthercomprises: while monitoring the contention levels, performing a scalingadjustment when its magnitude exceeds a specified step size, thusmaintaining responsive adjustment with an efficient computation load.91. The method for a medium access protocol of claim 85, which furthercomprises: while monitoring the contention levels, performing a scalingadjustment when its magnitude exceeds a specified step size, thusmaintaining responsive adjustment with an efficient computation load.92. The method for a medium access protocol of claim 81, which furthercomprises: selecting the magnitude of the adjustment factor at a givencontention level so that it is smaller for higher priority nodes, thusallowing higher priority packets to be transmitted earlier.
 93. Themethod for a medium access protocol of claim 84, which furthercomprises: selecting the magnitude of the adjustment factor at a givencontention level so that it is smaller for higher priority nodes, thusallowing higher priority packets to be transmitted earlier.
 94. Themethod for a medium access protocol of claim 85, which furthercomprises: selecting the magnitude of the adjustment factor at a givencontention level so that it is smaller for higher priority nodes, thusallowing higher priority packets to be transmitted earlier.
 95. Themethod for a medium access protocol of claim 82, which furthercomprises: selecting the magnitude of the adjustment factor at a givencontention level so that it is greater for higher priority nodes, thusallowing higher priority packets to be transmitted earlier.
 96. Themethod for a medium access protocol of claim 86, which furthercomprises: selecting the magnitude of the adjustment factor at a givencontention level so that it is greater for higher priority nodes, thusallowing higher priority packets to be transmitted earlier.
 97. Themethod for a medium access protocol of claim 87, which furthercomprises: selecting the magnitude of the adjustment factor at a givencontention level so that it is greater for higher priority nodes, thusallowing higher priority packets to be transmitted earlier.